📆 2022년 07월 10일
⏰ 23시 00분 ~ 22시 00분
✍ 혼자 공부하는 자바(신용권)
1. 열거 타입
- 한정된 값인 열거 상수 중에서 하나의 상수를 저장하는 타입
- 다음은 월, 화, 수, 목, 금, 토, 일 7개의 값을 갖는 요일 데이터의 열거 타입 week
public enum Week{ //Week:열거 타입 이름
MONDAY, //여기서부터//
TUESDAY,
WEDNESDAY,
THURSDAY, //열거상수
FRIDAY,
SATURDAY,
SUNDAY //여기까지//
}
- 변수 선언
Week today;
- today 변수에 저장할 수 있는 것은 week에 선언된 7개의 열거 상수 중 하나
today = Week.FRIDAY;
2. 열거 타입 선언
- 먼저 열거 타입의 이름을 정하고 해당 이름으로 소스 파일을 생성
1) 열거 타입 이름
- 첫 글자를 대문자로 하고 나머지는 소문자로 구성
- 여러 단어로 구성된 이름이라면 각 단어의 첫 글자는 대문자
2) 소스 파일
Week.java
MemberGrade.java
ProductKind.java
- 열거 타입을 선언하기 위한 키워드 : public enum
- 반드시 소문자로 작성
- 열거 타입 이름은 소스 파일 이름과 대소문자가 모두 일치
3) 열거 상수
- 열거 타입의 값
- 모두 대문자로 작성
- 여러 단어로 구성될 경우에는 단어 사이를 밑줄(_)로 연결
public enum LoginResult{LOGIN_SUCCESS, LOGIN_FAILED}
3. 열거 타입 변수
- 하나의 타입이므로 변수를 선언하고 사용
Week today;
Week reservationDay;
- 열거 타입 변수를 선언했다면 다음과 같이 열거 상수를 저장할 수 있음
- 열거 상수는 단독으로 사용할 수 없고 반드시 '열거 타입.열거 상수' 형태로 사용
* 열거 상수는 열거 객체로 생성 *
Week today = Week.SUNDAY;
- 열거 타입 변수 today는 스택 영역에 생성
- today에 저장되는 값은 Week.SUNDAY 열거 상수가 참조하는 객체의 번지
- 따라서, 열거 상수 Week.SUNDAY와 today 변수는 서로 같은 Week 객체를 참조
- 그렇기 때문에
today == Week.SUNDAY; //true
- 열거 타입 Week를 이용하려면 날짜 정보가 필요
- Calendar 클래스 : 컴퓨터의 날짜 및 요일, 시간을 제공
- Calendar 변수를 선언하고 Calendar.getInstance() 메소드로 Calendar 객체를 얻음
Calendar now = Calendar.getInstance();
- Calendar 객체를 얻었다면 get() 메소드를 이용해서 연, 월, 일, 요일, 시간, 분, 초를 다음과 같이 얻을 수 있음
int year = now.get(Calendar.YEAR);
int month = now.get(Calendar.MONTH)+1;
etc...
'Java' 카테고리의 다른 글
[ch06 클래스] 생성자 (0) | 2022.07.20 |
---|---|
[ch06 클래스] 객체 지향 프로그래밍 (0) | 2022.07.19 |
[ch04 조건문과 반복문] (0) | 2022.07.18 |
[ch05 참조타입] 배열 (0) | 2022.07.11 |
[ch05 참조타입] 참조 타입과 참조 변수 (0) | 2022.07.11 |