본문 바로가기

Programming/Java

(7)
[기본-8] 인터페이스 목차 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 1. 인터페이스 정의하는 방법 public interface 인터페이스명 { 자료형 상수명 = 값; // 인터페이스에서 변수는 기본적으로 상수이다. (public static final 생략 가능) 반환형 메소드명(); // 인터페이스의 abstract 메소드는 기본적으로 public 접근지시자를 갖는다.(public abstract 키워드 생략 가능) // 자바 8부터 추가된 default 메소드는 인터페이스에서 구현할 수 있다. ..
[기본-6] 상속 목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 1. 자바 상속의 특징 자바 상속의 특징으로는 C++언어와 비교했을 때 다중 상속을 허용하지 않는다. 즉, 하나의 super 클래스만을 상속 받을 수 있고, 두 개 이상의 클래스를 동시에 상속 받을 수 없다. 대신 인터페이스를 implements 키워드를 이용하여 구현할 수 있는데 인터페이스는 다음에 설명하도록 하겠다. 자바의 상속은 extends 키워드를 통하여 부모 클래스를 지정하면 된다. 문법은 다음과 같다. 접근제어자 class 클래스명 extends 부모클래스명 { ..
[기본-5] 클래스 목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 클래스 정의하는 방법 클래스는 정의하는 방법은 다음과 같다. 클래스 안에 필드와 메소드를 정의할 수 있다. // 접근지시자 class 클래스 public class Grizzly { private int age; // field // method public int getAge() { return age; } } 객체 만드는 방법 (new 키워드 이해하기) 객체를 만드는 방법은 클래스명 변수명 = new 클래스명(); 으로 만들 수 있다. Grizzly grizzly = new Grizzly(); // 객체 생..
[기본-4] 제어문 목차 선택문 반복문 선택문 1) if문 if문은 조건이 성립되는 경우에만 원하는 처리를 하고자 할 때 사용한다. int num = 100; if(num == 100) { System.out.println("100입니다."); } 동시에 다른 조건도 비교하여 별도의 처리를 하고자 할 때는 else if를 추가한다. int num = 100; if(num == 100) { System.out.println("100입니다."); } else if(num == 90) { System.out.println("90입니다."); } 만약 조건이 아닐 경우에 별도의 처리가 필요할 때는 else 절을 작성한다. int num = 50; if(num == 100) { System.out.println("100입니다.");..
[기본-3]자바 연산자 목표 자바가 제공하는 다양한 연산자를 학습하세요. * 이미 알고 있는 내용에 대해서는 간략하게 정리하였다. 목차 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 산술 연산자 구분 예시 기능 이항연산자 a + b a와 b를 더함 a - b a에서 b를 뺌 a * b a와 b를 곱함 a / b a를 b로 나눈 몫을 구함 a % b modulo 연산자이며 a를 b로 나눈 나머지를 구함 단항연산자 +a 부호를 바꾸지 않는다. -a 부호를 반대로 바꿈 b = ++a a의 값을 우선 하나 증가시킨 후 b에 저장 b = --a a의 값을 우선 하나 ..
[기본-2]자바 데이터 타입, 변수 그리고 배열 목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 목차 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 1. 프리미티브 타입 종류와 값의 범위 그리고 기본 값 구분 타입 크기 범위 기본값 비고 논리형 boolean 1byte false 또는 true false 문자형 char 2byte '\u0000' ~ '\uFFFF' '\u0000' 정수형 byte 1byte -2^7 ~ 2^7 - 1 0 -128 ~ 127 short 2byte -2^15 ~ 2^15 - 1 0 int 4byte -2^3..
[기본-1]JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가 목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. 목차 JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 1. JVM이란 무엇인가 JVM이란 Java Virtual Machine의 약자로 개발자가 작성하여 컴파일한 바이트코드를 실행하는 역할을 한다. 자바는 OS에 독립적인데 이것이 가능한 이유는, OS와 자바언어로 작성된 바이트코드 중간에 JVM이 존재하여 자바가 OS에 종속적이지 않게 바이트코드를 실행하기 때문이다. (즉, 자바는 OS에 독립적이나, JVM은 OS에 종속적이라고 할 수 있다.) JVM은 바이트코드를 실행하는 표준이며 구현체이다. 또한 바이트코드를 OS에 특화..