스프링부트 너 뭐 돼?🤷‍♀️(5) - enum

joyfulwave·2022년 12월 5일
0

피할 수 없다면 즐기자! 스프링부트 너.. 뭐 돼?




📚 enum(Enumeration)

  • 데이터 중에는 요일(월, 화, 수, 목, 금, 토, 일), 계절(봄, 여름, 가을, 겨울)등과 같이 몇 가지 한정된 값을 갖는 경우가 있어요. 이렇게 열거된 타입에 들어가는 값(월,화,...) 들을 열거 상수라고 해요.

  • 자바 class대신 enum으로 작성해줘요.

  • enum열거형으로 지정할 상수들은 전부 대문자로 선언해요.

  • 순서에 따라 0부터 index를 가지게 되며, 1씩 돼요.

  • 열거 상수들을 선언한 뒤에는 세미콜론(;)을 작성하지 않고, 상수("문자열")등 상수와 다른 값을 연결하는 경우에는 세미콜론(;)을 작성해요.

  • 코드가 단순해지며 가독성이 좋아져요.

📌 열거 상수를 다른 값과 연결하기

  • 상수("연결문자"), 상수(값)과 같은 형태로 작성
  • 상수들을 열거한 끝에 ; 작성
  • 해당 자료형에 맞는 private 생성자 필요
  • 연결한 값을 반환해줄 getter 매서드 필요

⚫ 예제(1)

계절 enum 작성하기

public enum Season {
	
	SPRING, SUMMER, FALL, WINTER
	
}

⚫ 예제(2)

public enum Type {
	// static final String WALKING = "워킹화";
	WALKING("워킹화"),
	RUNNING("러닝화"),
	TRACKING("트래킹화"),
	HIKING("등산화");

	final private String name;
	
	private Type(String name) { // enum에서 생성자와 같은 개념
		this.name = name;
	}
	
	public String getName() { // 문자를 받아오는 함수
		return name;
	}
	
}

⚫ 예제(3)

package com.koreait.item.enumeration;

public class Main02 {

	public static void main(String[] args) {

		Season season = Season.SPRING;
		
		// name() : 열거객체의 문자열 리턴
		String name = season.name();
		System.out.println(name);
		System.out.println("----------");
		
		// ordinal() : 열거 객체가 몇 번째인지를 리턴
		int ordinal = season.ordinal();
		System.out.println(ordinal);
		System.out.println("----------");
		
		// values() : 열거 타입의 모든 열거 객체들을 배열로 만들어 리턴 
		Season[] seasons1 = Season.values();
		for(Season s : seasons1) {
			System.out.println(s);
		}
		System.out.println("----------");
		
		
	}

}

⚫ 예제(4)

package com.koreait.item.enumeration;

public class Main03 {

	public static void main(String[] args) {

		for(Type type : Type.values()) {
			System.out.println(type.getName());
		}
		
		
		
	}

}




무사히 적응할 그 날을 기대 ✔️




출처
https://media.giphy.com/media/kyUIknbbDNvID5XzU4/giphy.gif
https://media.giphy.com/media/A6aHBCFqlE0Rq/giphy.gif

0개의 댓글