java/ㄴ CHAPTER 12. 제네릭스, 열거형, 애너테이션
-
CHAPTER 12. (4) 열거형이란? (애너테이션 포함)java/ㄴ CHAPTER 12. 제네릭스, 열거형, 애너테이션 2020. 4. 23. 16:06
열거형enum - 여러 상수 선언 시, 편리하게 선언할 수 있는 방법 - 열거형 상수간 비교에 == 사용 가능 (equals() 말고 == 로 비교 가능) - 등의 비교연산자 사용 불가 - compareTo() 사용 가능 (비교 대상 같으면 0, 왼쪽이 크면 양수, 오른쪽이 크면 음수 반환) - 모든 열거형의 조상 java.lang.Enum ex. enum Direction { EAST, SOUTH, WEST, NORTH } - 열거형 상수 값이 불규칙할 경우 상수 이름 옆에 원하는 값을 괄호와 함께 작성 ㄴ 지정한 값을 저장할 수 있는 인스턴스 변수, 생성자 추가 해야함 ㄴ 주의점 : 열거형 상수 모두 정의한 후에 다른 멤버들을 추가해야 함 (열거형 상수 마지막에 ; 확인) ex. 1 2 3 4 5 6..
-
CHAPTER 12. (2) 제한된 제네릭 클래스란? (제네릭스 제약 포함)java/ㄴ CHAPTER 12. 제네릭스, 열거형, 애너테이션 2020. 4. 23. 15:23
제한된 제네릭 클래스 - 사용할 타입 명시하면, 한 종류 타입만 저장할 수 있도록 제한 가능 but 여전히 모든 종류 타입 지정 가능 => 지정할 수 있는 타입 종류 제한하는 방법? ex. FruitBox fruitBox = new FruitBox(); fruitBox.add(new Toy()); // 과일 박스에 장난감 담기 가능 1. 지네릭 타입에 extends 사용, 특정 타입 자손만 대입 가능 ex. class FruitBox { // Fruit의 자손만 타입으로 지정 가능 ArrayList list = new ArrayList(); } FruitBox appleBox = new FruitBox(); // 가능 FruitBox toyBox = new FruittBox(); // 오류, Toy는 F..
-
CHAPTER 12. (1) ★ 제네릭스란? ( 타입변수, 제네릭 타입 다형성 포함)java/ㄴ CHAPTER 12. 제네릭스, 열거형, 애너테이션 2020. 4. 23. 15:20
★ 제네릭스Generics - (다양한 타입의 객체)들을 다루는 메서드, 클래스 에서 컴파일 할 때 타입을 체크 해주는 기능 => 객체 타입을 컴파일 시에 체크하기 때문에 타입 안정성 증가, 형변환 번거로움 감소 - 저장된 객체 반환 시 형변환 필요 없음 ㄴ 왜? 이미 어떤 타입 객체가 저장되어 있는지 알고 있기 때문 사용법 1. 객체, 배열 등 생성 시 저장할 객체의 타입 지정 2. 지정 타입 외에 다른 타입 객체 저장하면 오류 발생 장점 - 타입 안정성 제공 - 자동 타입 체크 - 형변환 생략 가능 (코드 간결화) => 같은 객체만 담겼다는 확신을 주기 때문에 타입 안정성 증가, 형변환을 해줬어야 하는 번거로움이 줄어듬 타입 변수 (타입 매개변수) - 클래스 옆의 안에 있는 요소 - 일반적으로 Typ..