본문 바로가기
JAVA

Enum 타입

by 융디's 2024. 3. 30.
728x90
Enum 타입

Enum 타입

@2024.03.12

Enum 타입은 항상 개념이 헷갈리는 것 같다.

이번에 수업 들은 것을 한 번 더 정리하면서 리마인드 해보자.

Enum(Enumeration) - 열거형 타입

💡
서로 연관된 상수의 집합을 저장하는 자료형으로, 한정된 값만 갖는 데이터 타입

@기본 형식

public enum 열거타입이름{….}
  • JDK5부터 지원하는 기능
  • 코드의 가독성을 높이고, 타입의 안정성을 보장할 수 있게 되었다.

Enum이 왜 탄생 했을까?

💡
기존 상수의 단점인 코드의 가독성과, 유지 보수성 저하 , 타입의 안정성을 보장하지 못한다는 문제점을 해결하기 위해 탄생
  • 타입의 안정성을 보장할 수 없는 예시
    public class GenderConstants {
         public static final int MALE = 0; //정수를 저장한 상수, 0은 남성을 뜻함
         public static final int FEMALE = 1; //정수를 저장한 상수, 1은 여성을 뜻함
    }
    
    public class GenderExam{
         public static void main(){
              int gender = GenderConstants.MALE; //성별을 나타내는 변수를 선언하고 초기화
              int gender = 2; // 잘못된 값 저장
         }
    }
    • 위의 코드와 같이 2라는 값은 성별을 나타내는 값으로 적합하지 않지만 컴파일러는 이를 감지할 방법이 없다. ← 타입의 안정성 보장 X
  • Enum 타입을 사용하여 타입의 안정성 보장하기
    public enum Gender{
          MALE, FEMALE;
    }
    
    public class GenderExam{
         public static void main(){
             Gender gender = Gender.OTHER //컴파일 오류 ; OTHER라는 상수가 존재하지 X
             Gender gender = Gender.FMALE // 컴파일 성공
         }
    }

728x90

'JAVA' 카테고리의 다른 글

타입  (0) 2024.03.30
변수와 리터럴  (0) 2024.03.30
주석문  (0) 2024.03.30
While문  (0) 2024.03.30
Hello World!  (0) 2024.03.30