Language55 [Java] 열거형_열거형에 멤버 추가하기 열거형에 멤버 추가하기 : ordinal()이 열거형 상수가 정의된 순서를 반환하지만, 이 값을 열거형 상수의 값으로 사용하지 않는 것이 좋다 enum Direction { EAST(1), SOUTH(5), WEST(-1), NORTH(10); // 끝에 ';'를 추가해야 함 private final int value; // 정수를 저장할 필드(인스턴스 변수)를 추가 Direction(int value) { this.value = value } // 생성자를 추가, // private Direction(int value)와 동일 public int getValue() { return value; } } 열거형에 추상 메서드 추가하기 enum Transportation { BUS(100) { int far.. 2022. 7. 30. [Java] 열거형_열거형이란? 열거형이란? : 서로 관련된 상수를 편리하게 선언하기 위한 것으로 여러 상수를 정의할 때 사용하면 유용 class Card { static final int CLOVER = 0; static final int HEART = 1; static final int DIAMOND = 2; static final int SPADE = 3; static final int TWO = 0; static final int THREE = 1; static final int FOUR = 2; final int kind; final int num; } // same class Card { enum Kind { CLOVER, HEART, DIAMOND, SPADE } enum Value { TWO, THREE, FOUR } f.. 2022. 7. 30. [Java] 지네릭스_지네릭 타입의 제거 지네릭 타입의 제거 : 컴파일된 파일(*.class)에는 지네릭 타입에 대한 정보가 없다. (호환성을 위해) 제거 과정 1. 지네릭 타입의 경계를 제거한다. - 지네릭 타입이 라면 T는 Fruit로 치환된다. - 인 경우에는 T는 Object로 치환된다. 그리고 클래스 옆의 선언은 제거된다. class Box { void add(T t) { ... } } // after class Box { void add(Fruit t) { ... } } 2. 지네릭 타입을 제거한 후에 타입이 일치하지 않으면, 형변환을 추가한다. - List의 get()은 Object타입을 반환하므로 형변환이 필요하다. T get(int i) { return list.get(i); } // after Fruit get(int i) {.. 2022. 7. 29. [Java] 지네릭스_지네릭 타입의 형변환 지네릭 타입의 형변환 : 지네릭 타입과 넌지네릭(non-generic) 타입간의 형변환은 항상 가능하다. 다만 경고 발생 Box box = null; Box objBox = null; box = (Box)objBox; objBox = (Box)box; : 지네릭 타입과 지네릭 타입간의 형변환은 불가능. Box objBox = null; Box strBox = null; objBox = (Box)strBox; // error strBox = (Box)objBox; // error : Box이 Box 2022. 7. 29. 이전 1 2 3 4 5 6 ··· 14 다음