Programming Language/Java
[JAVA] 열거상수, 열거 타입변수, 객체 ?
BS Kwak
2020. 10. 10. 23:01
>>1. 열거타입이란?
열거타입 변수 선언
열거타입변수;
Week today;
Week reservationDay;
열거타입변수에 열거 상수 저장
열거타입변수 = 열거타입.열거상수;
Week today = Week.SUNDAY;
Week reservationDay = null; //열거 타입도 참조 타입이기 때문에 null 저장 가능
열거상수는 객체 ?
yes! 참조타입 변수는 객체를 참조하는 변수이고, 열거 타입도 참조 타입이기 때문에 객체
ex) 열거 타입 Week의 경우, MONDAY~SUNDAY까지의 열거 상수는 7개의 Week객체로 생성
메소드 영역에 생성된 열거 상수가 해당 Week 객체를 각각 참조
today == Week.SUNDAY true?
Week today = Week.SUNDAY;
열거 타입 변수 today : 스택 영역에 생성됨
Week.SUNDAY 열거 상수가 참조하는 객체의 번지 : today에 저장되는 값
변수 today 와 열거 상수 Week.SUNDAY : 서로 같은 Week 객체 참조
따라서 today == Week.SUNDAY yes!
week1 == week2 true?
Week week1 = Week.SATURDAY;
Week week2 = Week.SATURDAY;
week1 == week2; //true
week1과 week2 모두 Week.SATURDAY 상수와 같이 동일한 Week 객체를 참조하기 때문에
따라서 week1 == week2 yes!
>>3. 열거 객체의 메소드