Enum

Elly·2023년 10월 24일
0
post-thumbnail
  1. 열거형에 멤버 추가하기
  • 불연속적인 열겨형 상수의 경우 원하는 값을 괄호() 안에 적는다.
    enum Direction {EAST(1), SOUTH(5), WEST(-1), NORTH(10)}
    // ()는 생성자 호출이라고 보면 된다.
    // ordinal과 value는 다르다.
    // ordinal은 순서[0,1,2,3], value[1,5,-1,10]는 값이라고 보면 된다.
  • 괄호()를 사용하려면, 인스턴스 변수와 생성자를 새로 추가해줘야 한다.
	enum Direction {
    	EAST(1), SOUTH(5), WEST(-1), NORTH(10); // 끝에 ; 필수!
        
        // ()안의 값을 받는 생성자가 필요하다. value에 ()안의 숫자가 들어간다고 보면 된다.
        private final int value; // 정수를 저장할 필드(인스턴스 변수)를 추가
         
        Direction(int value) {this.value = value;}	// 생성자를 추가, 앞에 private이 생략 되었다. 생성자는 묵시적으로 private이다. 
        
        public int getValue() {return value;}
    }
  • 열거형 생성자는 묵시적으로 private이므로 외부에서 객체 생성 불가
    Direction d = new Direction(1); // 에러!! 열거형의 생성자는 외부에서 호출 불가
profile
Backend Developer

0개의 댓글

관련 채용 정보