• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Keyword] Java - enum 키워드 - 상수 열거형 클래스

1,266  
목차
  1. enum 정의
  2. enum / class 비교 (유사점/차이점)
  3. enum 예제1 - Class 안의 enum
  4. enum 예제2 - Switch 구문 안의 enum
  5. enum 예제3 - enum 이용한 반복문

 

enum 정의


상수를 모아놓은 열거형 "클래스".

※ 변경 불가 값 (예: 날짜, 색깔 등)을 모아서 관리할 때 유용. 

 


[특징]

 

1. enum : enumerations (= 구체적으로 나열) 의미.

2. final 키워드로 설정하는 상수처럼 변경 불가.

3. Class와 유사점・차이점 있음. (아래에서 설명.)

4. 각 상수에 대해서 개별 속성값 지정도 가능.

5. 다른 Class 안에서 사용 가능. (예제1)

6. Switch 구문 안에서도 사용 가능. (예제2)

6. 반복문에서도 사용 가능. (예제3)

 


[예제] Hz.java

 

enum Code {

  HTTML,

  CSS,

  JS

}


public class Hz { 

  public static void main(String[] args) { 

    Code hzCode = Code.CSS; 

    System.out.println(hzCode); 

  } 

}

 

결과값: CSS

 

enum / class 비교 (유사점/차이점)

[Class와 유사점]

 

(속성・메서드・생성자) 보유 가능.

 


[Class와 차이점]

 

1.

enum 상수들은 publicstaticfinal 성격을 띔.

즉, 변경 불가. = 덮어쓰기 불가. = 재정의 불가.

 

2.

enum은 객체 생성 불가.

 

3.

다른 class(클래스)를 extends(상속) 불가.

단, interface(인터페이스)는 implements(시행) 가능.

 

 

enum 예제1 - Class 안의 enum

 

enum은 다른 클래스 안에서도 사용 가능.

 


[예제] Hz.java

 

public class Hz { 

  enum Code {

    HTML,

    CSS,

    JS

  }


  public static void main(String[] args) { 

    Code hzCode = Code.CSS; 

    System.out.println(hzCode); 

  } 

}

 

결과값: CSS

 

enum 예제2 - Switch 구문 안의 enum

 

enum은 switch 구문 안에서도 사용 가능.

※ 상응하는 값을 찾기 위해 자주 사용됨.

 


[예제]

 

enum Code {

  HTML,

  CSS,

  JS

}


public class Hz { 

  public static void main(String[] args) {

    Code hzCode = Code.CSS; 

                

    switch(hzCode) {

      case HTML:

        System.out.println("HTML : 뼈대");

        break;

      case CSS:

        System.out.println("CSS : 디자인");

        break;

      case JS:

        System.out.println("JS : 기능");

        break;

    }

  }

}

 

결과값:

CSS : 디자인

 

enum 예제3 - enum 이용한 반복문

 

enum.values() 메서드 갖음.

values() 메서드는 enum 안 상수를 배열로 반환.

※ 반복문 돌릴 수  아주 유용.

 


[구문]

 

for(enum val : enum.values()) {

   val 출력.

}

 

PS.

enum : enum 이름.

val : 변수 이름. (※ enum 안의 각 상수를 담는 변수)


[예제] Hz.java

 

enum Code {

  HTML,

  CSS,

  JS

}


public class Hz { 

  public static void main(String[] args) { 

    for (Code hzCode : Code.values()) {

      System.out.println(hzCode);

    }

  } 

}

 

결과값:

HTML

CSS

JS



분류 제목
String Java - equals() 메서드 -두 문자열의 동일 여부 비교.
String Java - equalsIgnoreCase() 메서드 - 대소문자 구별 없이 문자열 동일 여부 비교.
String Java - format() 메서드 ★★★ - 문자열 포맷 (= format메서드 = 포맷 메서드)
String Java - getBytes() 메서드 - 문자열의 바이트(byte) 배열 반환 (= getBytes메서드 …
String Java - getChars() 메서드 - 문자열에서 문자 배열로 단일문자를 복사.
String Java - hashCode() 메서드 - 문자열의 해시코드 반환 (= hashCode메서드 = 해시코드메서…
String Java - indexOf() 메서드 - 문자열에서 지정 문자의 처음 발견 위치의 색인번호 반환
String Java - intern() 메서드 △ - 지정 색인부터 검색 시작해, 지정 문자가 처음 나타나는 색인 반…
String Java - isEmpty() 메서드 - 빈 문자열인지 여부 체크 (= isEmpty메서드 = 이즈엠프티메서…
String Java - lastIndexOf() 메서드 - 지정 문자가 문자열에서 마지막 나타난 위치의 색인번호 반환.
String Java - length() 메서드 - 문자열 길이 (= length메서드 = 렝스메서드)
String Java - matches() 메서드 △ - 정규식과 일치하는 문자열 검색 후 일치 항목 반환.
String Java - offsetByCodePoints() 메서드 △ - 지정 인덱스에서 codePointOffset…
String Java - regionMatches() 메서드 △ - 두 문자열 영역이 같은지 테스트.
String Java - replace() 메서드 - 문자열의 특정 문자를 지정 문자로 대체. (= replace메서드 …
String Java - replaceFirst() 메서드 △ - 지정 정규식과 일치하는 첫 번째 하위 문자열을 새 지정…
String Java - replaceAll() 메서드 △ - 지정 정규식과 일치하는 모든 하위 문자열을 새 지정대로 대…
String Java - split() 메서드 △ - 문자열을 부분 문자열의 배열로 분할.
String Java - startsWith() 메서드 - 문자열이 지정 단일문자(들)로 시작하는지 체크.
String Java - subSequence() 메서드 △ - 하위 시퀀스 반환
7/10
목록
찾아주셔서 감사합니다. Since 2012