자바 기반 구조적 프로그래밍 마지막 부분은 열거 타입!!
열거 타입은 간단하게 정리하고 넘어갑시다 :)
열거타입의 생성과 활용
열거 타입은 한정된 값만 갖는 데이터 타입이고, 열거 타입 안에 저장되는 상수를 열거 상수라고 한다.
열거 타입의 enum의 이름을 정하는 방법은 class명을 정하는 것과 완전히 동일하다!
그리고 열거 상수는 관례적으로 모두 대문자로 표현한다.
먼저 enum을 생성하여 요일을 열거 상수로 저장하는 Week 열거 타입을 작성하였다.
다음으로 열거 타입 Week 객체를 새로운 클래스의 메인메소드에서 호출하여 활용하는 코드이다.
메인메소드에서 열거타입 변수 today를 선언하고, 메소드 영역을 출력하여 확인할 수 있다.
열거 타입은 참조 변수이므로 초기화 기본값으로 null을 사용한다.
Calendar
일반적으로 메인메소드에서 객체를 생성할 때에는 new 연산자를 사용하여 객체를 생성하지만 날짜와 시간을 확인할 수 있는 클래스 Calendar는 미리 만들어져 있는 열거타입 객체이기 때문에 new 생성자를 통한 객체 생성이 불가하고, 대신 Caelndar.getInstance() 메소드를 활용해 가져다 쓸 수 있다. Calendar 객체에 열거된 상수를 now 객체에서 참조하여 오늘 날짜와 시간을 출력해보았다.
열거타입 변수 day를 null 값으로 초기화하여 현재의 정보를 확인한 결과에 따라
switch문과 if문을 활용해서 오늘이 무슨 요일인지 출력하여 확인하는 코드를 작성해보고,
평일 주말을 구분하여 실행문을 출력하는 코드도 작성해보았다.
열거 타입에 상속된 메소드의 활용
name(), ordinal(), values(), valueOf()
name() 메소드는 열거 객체의 이름을, ordinal() 메소드는 열거 객체의 순번을 출력해주는 메소드이다.
또한 compareTo()는 열거 객체를 비교해주는 역할을 하는데, "변수1.compareTo(변수2)"로 할당해주면
"변수1의 순번 - 변수2의 순번"을 계산한 값을 출력해준다.
마지막으로 values() 메소드는 모든 열거객체를 배열로 리턴해주고,
valueOf() 메소드는 열거 상수를 할당해준다.
if문으로 조건을 만들어 할당된 값에 따라 실행문을 출력할 수 있다.
자바 기반 구조적 프로그래밍 진도는 끄읕 -!!!!!!!!!!!!!!
연습문제를 반복해서 꾸준히 풀어볼 필요가 있을 것 같다 :)
'Develop growth diary > JAVA' 카테고리의 다른 글
자바 기반 객체지향 프로그래밍 02 - 클래스 멤버와 메소드&생성자 오버로딩 (0) | 2022.10.06 |
---|---|
자바 기반 객체지향 프로그래밍 01 - 객체 생성과 클래스 변수 (0) | 2022.10.05 |
자바 기반 구조적 프로그래밍 05 - 반복문과 배열의 생성 및 복사 (1) | 2022.10.04 |
자바 기반 구조적 프로그래밍 04 - 조건문과 반복문 (1) | 2022.09.30 |
자바 기반 구조적 프로그래밍 03 - 라이브러리 활용, 조건문 if (2) | 2022.09.29 |