Develop/Java

Develop/Java

인터페이스, 다형성, 예외

인터페이스 역할: 어떤 객체가 있고 그 객체가 특정한 인터페이스를 사용한다면 그 객체는 반드시 인터페이스의 메소드들을 구현해야한다. 만약 인터페이스에서 강제하고 있는 메소드를 구현하지 않으면 이 에플리케이션은 컴파일조차 되지않는다. interface I{ public void z(); } class A implements I{//이 클래스는 인터페이스 I를 구현한다 public void z(){}//interface I 의 멤버인 public void z() 를 반드시 포함해야한다 } 몇 가지 규칙 ​ 하나의 클래스가 여러개의 인터페이스를 구현할 수 있다. ​ 인터페이스도 상속이 된다 ​ 인터페이스의 멤버는 반드시 public이다(외부에서 제어할 수 있는 가장 개방적인 접근제어자) 다형성 다형성 : 하나..

Develop/Java

final

추상이 상속을 강제하는 것이라면 final은 상속/변경을 금지하는 규제다 ​ ​ final로 지정된 변수에는 한번 값이 할당되면 그 값을 바꿀 수 없다. final 메소드는 상속이 안된다. 상속하려하면 오류발생 ​ //Please don't change class name 'Main' class Calculator { static final double PI = 3.14; int left, right; public void setOprands(int left, int right) { this.left = left; this.right = right; //final로 지정된 변수에는 한번 값이 할당되면 그 값을 바꿀 수 없기 때문에 오류가 발생한다. //Calculator.PI = 6; } public v..

Develop/Java

abstract

abstract 은 상속을 강제하는 일종의 규제 abstract 클래스나 메서드를 사용하기 위해서는 반드시 상속해서 사용하도록 강제하는 것이다 ​ 추상메소드 : 메서드의 시그니처만이 정의된 비어있는 메소드 추상클래스에는 추상 메소드가 아닌 메소드가 존재할 수 있다 메소드의 시그니처만 정의되어 있고(내용이 비어있음) 이 메소드의 구체적인 구현은 하위클래스에서 오버라이딩해야함. 인스턴스화 시킬수도없음. //Please don't change class name 'Main' abstract class A{ public abstract int b(); public void d(){ System.out.println("world"); } } class B extends A{ public int b(){return..

Develop/Java

클래스

package classinstance; public class Calculator2 { static double PI = 3.14; // 클래스 변수인 base가 추가되었다. static int base = 0; int left, right; public void setOprands(int left, int right) { this.left = left; this.right = right; } public void sum() { // 더하기에 base의 값을 포함시킨다. System.out.println(this.left + this.right + base); } public void avg() { // 평균치에 base의 값을 포함시킨다. System.out.println((this.left + th..

Develop/Java

객체

package object; public class Calculator { int left, right; public void setOprands(int left, int right){ this.left = left; this.right = right; } public void sum(){ System.out.println(this.left+this.right); } public void avg(){ System.out.println((this.left+this.right)/2); } } package object; public class Main { public static void main(String[] args) { Calculator c1 = new Calculator(); c1.setOpran..

Develop/Java

자바 기초 15강 - 클래스

클래스는 객체지향 프로그래밍에 있어서 가장 기본이 되는 것 대표적으로 많이 사용되는 것이 Node 클래스 하나의 처리할 데이터 단위를 나타낼때 유용 ​ 객체;실세계의 사물 ​ ​ ​ Main1.java package tutorial15; public class Main1 { public static void main(String[] args) { Node1 one = new Node1(10,20); Node1 two = new Node1(30,40); Node1 result = one.getCenter(two); System.out.println(result.getX()+ " "+result.getY()); } } Node1.java package tutorial15; public class Node1 ..

Develop/Java

자바 기초 14강 - 다차원 배열

배열이 다차원 구조로 생긴 것을 말함 package tutorial14; public class Main1 { public static void main(String[] args) { int N = 50; int[][]array = new int[N][N]; for(int i=0; i

Develop/Java

자바 기초 13강 - 배열

배열은 데이터가 많을 때 사용하는 것 배열에 정수 받아서 최대값 찾기 package tutorial13; import java.util.Scanner; //배열 입력받고 최대 값 찾기 public class Main1 { public static int max(int a, int b) { return (a>b)?a:b; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("생성할 배열의 크기: "); int number = scanner.nextInt(); int[] array = new int[number]; for(int i=0; i

Develop/Java

자바 기초 12강 - 반복함수와 재귀함수

피보나치 수열 package tutorial12; public class Main1 { //피보나치 수열 n번째 수는? //반복함수 public static int fibonacci(int number) { int one =1; int two = 1; int result = -1; if(number == 1) { return one; } else if(number ==2) { return two; } else { for(int i=2; i

Develop/Java

자바 기초 11강 - 반복함수와 재귀함수

반복함수는 단순히 while 혹은 for 문법을 이용하여 특정한 처리를 반복하는 방식으로 문제를 해결하는 함수 재귀함수는 자신의 함수 내부에서 자기 자신을 스스로 호출하여 재귀적으로 문제를 해결하는 함수 package tutorial11; public class Main2 { //재귀함수로 팩토리얼 만들기 public static int factorial(int number) { if(number ==1) return 1; else return number *factorial(number-1); } public static void main(String[] args) { System.out.println(factorial(10)); } } ​ package tutorial11; public class M..

Develop/Java

자바 기초 10강 - 사용자 정의 함수

약수중 k번째로 작은 수를 찾는 프로그램 package tutorial10; public class Main1 { //k번째 약수 찾기 public static int function(int number, int k) { for(int i=1;ib) ? a: b; } public static int function(int a , int b, int c) { int result = max(a,b); result = max(result, c); return result; } public static void main(String[] args) { System.out.println(function(345,567,789)); } }

Develop/Java

자바 기초 9강 - 사용자 정의 함수

사용자 정의 함수는 정해진 특정한 기능을 수행하는 모듈 ​ 함수를 적절히 활용하면 하나의 문제를 잘게 분해할 수 있다. 함수는 각각의 모듈로서 쉽게 수정되고 보완될 수 있다는 장점이 있다. ​ ​ ​ ​ 3개 수의 최대공약수 구하기 package tutorial9; public class Main1 { //3개의 최대공약수 프로그램 //반환형, 함수명, 매개변수 public static int function(int a, int b, int c) { int min; if(a>b) { if(b>c) { min =c; } else { min=b; } } else { if(a>c) { min =c; } else { min =a; } } for(int i=min;i>0;i--) { if(a % i == 0 &&..

Develop/Java

자바 기초 7강 - 기본 입출력

자바에서는 대표적으로 Scanner 클래스를 이용하여 사용자와 상호작용한다 일반적으로 Scanner sc = new Scanner(System.in); 으로 클래스 객체를 생성한 뒤에 sc.nextint();와 같은 방법으로 int 형을 입력받을 수 있다 ​

Develop/Java

자바 기초 5강 - 조건문 & 반복문

데이터 자료형 복습 *i++와 ++i는 단순히 값을 증가시키는 목적이면 기능은 동일하지만 다른것임 *100

Develop/Java

자바 기초 4강 - 연산자

*자료형? ​ 자료형이 차지하는 메모리 공간의 크기가 다름 ​ 소수점 표기 형식을 지수형식으로 출력하고 싶으면 %e를 이용하면 된다 ​ 자바에서 String의 최대크기는 어떻게 될까? String은 클래스 기반의 비원시적인 자료형이다. *연산자 ​ + - * / -> 몫 % -> 나머지 ​ 음 일단 내가 어제부터 궁금했던거. 두가지 경우를 해봤는데 패키지가 디폴트패키지면 이 디폴트 패키지에 class 를 만들면 실행이 안되고 내가 임의로 패키지를 만들고 거기에 class 를 만들면 그건 실행이 된다 ​ Eclipse 프로젝트 이름 변경하는 방법 Refactor >> Rename (workspace 폴더를 열어노은 상태면 에러문구 뜰수도 있으니 닫고 재시도) 초를 입력받아 몇분 몇초인지 계산하는 프로그램 ..

Develop/Java

자바 기초 3강 - 자료형

자바에서는 변수 초기화를 하지 않으면 사용할 수 없다. ​ 정수는 나타내는 타비은 short, int, long 으로 다양 ​ 정수변수안에 실수를 넣으면 정수형으로 나타남. 저번 강의에서 하던걸 불러와보자. 이클립스에서 자바 프로젝트를 불러오려면 import를 하면된다. ​ file > oepn project ... > directory> finish ​ 불러왔다. ​ 정수형 변수에 실수를 넣으려면 저렇게 앞에 int를 써줘야 한다 실수값을 반올림할때에는 변수에 0.5를 더하고 정수형으로 형변환을 한다 변수는 여기서 끝. 다음은 자료형 *자료형 ​ 가장 많이 사용되는 자료형 String, Array, boolean, char, int, double... String 내부적으로 substring 등의 함수..

Develop/Java

자바 기초 2강 - 변수

A(변수) = 30(상수) ​ 프로그래밍을 하기 위해서는 변수의 설정이 반드시 필요하다. 변수란 프로그램이 실행되는 동안에 언제든지 저장된 값이 변경될 수 있는 공간을 의미한다. ​ 변수는 열린 상자로 비유할 수 있다. 상수는 닫힌 상자로 비유할 수 있다. ​ 변수를 초기화하고, 출력하는 것 연습 해보기 final 키워드를 통해 상수를 정의하고 사용해보기 public class Main { final static double PI = 3.141592; public static void main(String[] args) { int r = 30; System.out.println( r * r * PI); } } 오버플로의 개념을 이해하기 사칙연산 프로그램 작성해보기 ​

Develop/Java

자바 기초 1강

자바는 주력 언어로써 부상중. ​ 특히 웹에서는 JSP, 모바일에서는 안드로이드가 아주 높은 점유율을 가지고 있다. C++과 같이 대표적인 객체지향 프로그래밍 언어이다. ​ *자바 개별 환경 설치 ​ 구글에 jdk를 검색하고 64비트에 맞는 걸 다운 받는다 (제어판-시스템 에서 다음과 같이 확인할 수 있다) ...하려다 보니 가입해야 된단다 가입 안해도 되는 방법을 찾아봤다 https://blog.naver.com/ameeam/222185111800 오라클 로그인 없이 Java 11 다운받기 (jdk 11) Java 15는 오라클 공식 홈페이지에서 바로 다운 받을 수 있는데11버전은 오라클 계정을 만들고 로그인을 ... blog.naver.com 그 다음은 이클립스 설치 ​ ​ 설치하고 프로젝트를 하나 ..

Develop/Java

자바 스터디 계획

인원은 6명이고 개강하기 전까지 대강 두 달정도 진행할 예정이다. 주 2회로 진행할 거고 첫 2주동안은 자바를 집중해서 공부하고 그 이후로는 자바와 앱을 병행할 예정이다. 다행히 앱을 이미 좀 할 줄 아는 동기가 있어서 그 친구가 수업을 해주는 방식으로 갈 것 같다. https://www.youtube.com/playlist?list=PLRx0vPvlEmdBjfCADjCc41aD4G0bmdl4R 자바 기초 프로그래밍 강좌(Java Programming Tutorial 2017) www.youtube.com 자바 기초 프로그래밍 강좌(Java Programming Tutorial 2017) www.youtube.com 자바 개념은 여기를 보고 하고 ​ https://edu.goorm.io/lecture/4..

dawonny
'Develop/Java' 카테고리의 글 목록