Category: Java

자바에서의 다중상속 문제(a.k.a. Diamond Problem)

자바에서는 왜 다중상속을 허용하지 않는걸까? 그리고 어떻게 인터페이스를 통해서는 다중상속이 가능한걸까? 이를 알아보기 위해 아래와 같은 상속관계를 갖는 클래스들을 생성해보겠다. Child -> Mother -> GrandMother, Father -> GrandMother Person.java 1234567public class Pers

Live Study 12주차 - Annotation

애노테이션 정의하는 방법 자바 표준 애노테이션 @Override @Deprecated @SuppressWarnings @FunctionalInterface @SafeVarargs @Native @Target @Retention @Documented @Inherited 애노테이션 프로세서 애노테이션 정의하는 방법Enum과 함께 Java 1.5에

Live Study 11주차 - Enum

enum 이란 enum 정의하는 방법 ordinal enum이 제공하는 메서드 values()와 valueOf() java.lang.Enum EnumSet EnumSet 주요메서드 enum 이란Enum이란, 서로 관련된 상수를 편리하게 선언하기 위한 기술로써, 상수 간 비교에서 리터럴만 비교한다면 Enum 간 비교에서는 타입까지 관리하기 때

Live Study 14주차 - 제네릭

제네릭 제네릭 사용법 제네릭 타입 매개변수 제네릭 클래스 제네릭 주요 개념 (바운디드 타입, 와일드 카드) 제네릭 메서드 만들기 Erasure 제네릭사용법을 알기 전, 제네릭(Generics)이 뭔지부터 알아보자. 제네릭은 클래스 내부에서 사용할 데이터 타입을 클래스 외부에서 지정하는 기법이다. 오라클 문서에 의하면, Nutshell 에서는 제

Live Study 9주차 - 예외 처리

자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 예외처리 try catch throw throws finally 자바가 제공하는 예외 계층 구조 Checked Exeption Unchecked Exception Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차

Live Study 8주차 - 인터페이스

인터페이스 정의하는 방법 인터페이스 목적 : 느슨한 결합 인터페이스 구현하는 방법 implements 익명 클래스 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메서드(Default Method), 자바8 디폴트 메서드가 구현체의 메서드와 이름이 중복될 경우 인터페이스의 static 메서드, 자바8 인터페

Live Study 7주차 - 패키지

package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 package 키워드패키지는 클래스의 묶음이며, 자바는 반드시 하나의 패키지에 속해야 한다. 패키지의 특징은 다음과 같다. 점을 구분자로 하여 계층구조로 구성한다. 패키지는 물리적으로 클래스 파일을 포함하는 하나의 디렉토리이다.

Live Study 6주차 - 상속

자바 상속의 특징 다중상속 상속관계에서 메서드 호출 업캐스팅/다운캐스팅 super 키워드 메소드 오버라이딩 메서드 오버라이딩과 메서드 오버로딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바 상속의 특징자식 클래스는 부모 클래스의 상태와 기능을 사용 가능1234p

Live Study 5주차 - 클래스

클래스와 객체 클래스 정의하는 방법 접근제한자 생성자 객체 만드는 방법 (new 키워드 이해하기) 메서드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 클래스와 객체클래스에 앞서 객체 를 먼저 이해할 필요가 있다. 객체를 중심으로 프로그래밍을 하는 것을 객체지향 프로그래밍(Object Oriented Programming)이라 한다.