본문 바로가기

Java/BookExample

열거 객체의 메소드

p.179 예제 - 열거 객체의 메소드

name() | ordinal() | compareTo() | valueOf | values()

package BookExampleHomework;

public class EnumMethodExample {

	public static void main(String[] args) {
		//name()메소드
		Week today = Week.SUNDAY; //변수선언. SUNDAY란 열거상수와 today는 같은 주소값을 가지며 같은 Week 객체를 참조한다.
		String name = today.name(); //today가 가지고 있는 주소값을 통해  Week객체에 접근하면, 그안의 name메소드를 통해 name이란 변수에 today가 가진 문자열(SUNDAY)을 저장한다.
		System.out.println(name);
		
		//ordinal()메소드
		int ordinal = today.ordinal(); //today의 주소값을 통해 Week객체에 접근, ordinal메소드는 열거상수의 순번(0~6)을 알려준다.
		System.out.println(ordinal);
		
		//compareTo()메소드
		Week day1 = Week.MONDAY; //변수를 선언해야 사용할 수 있기 때문에
		Week day2 = Week.WEDNESDAY;
		int result1 = day1.compareTo(day2); //day2를 기준으로 day1이 빠르면 음수 >>음
		int result2 = day2.compareTo(day1); //day1 기준으로 day2가 빠르면 음수 >>양
		System.out.println(result1); 
		System.out.println(result2); 
		
		//valueOf()메소드
		if(args.length == 1) {
			String strDay = args[0];
			Week weekDay = Week.valueOf(strDay); //strDay의 문자열 즉 args[0]의 값을 가지는 열거객체를 리턴하여 weekDay에 저장한다.
			if(weekDay == Week.SATURDAY || weekDay == Week.SUNDAY) {
				System.out.println("주말이군요"); 
			}else {
				System.out.println("평일이군요");
			}
		}
		
		//values()메소드
		Week[] days = Week.values(); //모든 Week객체들(MONDAY~SUNDAY)을 배열로 만들어 리턴
		for(Week day : days) {
			System.out.println(day);
		}
	}

}

valueOf 구현 확인을 위해 Run Configuration으로 실행한다

'Java > BookExample' 카테고리의 다른 글

Ch6 클래스 - 메소드  (0) 2021.03.08
열거 타입과 열거 상수  (0) 2021.03.03
배열복사  (0) 2021.03.02
add메소드와 배열생성  (0) 2021.02.28
배열 속의 배열  (0) 2021.02.28