"Java enum"의 두 판 사이의 차이

태그: 수동 되돌리기
 
(같은 사용자의 중간 판 8개는 보이지 않습니다)
34번째 줄: 34번째 줄:
*interface를 이용한 방법
*interface를 이용한 방법
<syntaxhighlight lang='java' run>
<syntaxhighlight lang='java' run>
interface DAY{   
public class EnumExample2 {
 
 
interface DAY1{   
     int MONDAY = 1;
     int MONDAY = 1;
     int TUESDAY = 2;
     int TUESDAY = 2;
44번째 줄: 47번째 줄:
}
}


interface MONTH{   
interface MONTH1{   
     int JANUARY = 1;
     int JANUARY = 1;
     int FEBRUARY = 2;
     int FEBRUARY = 2;
59번째 줄: 62번째 줄:
}
}


public class EnumExample2 {


     public static void main(String[] args) {
     public static void main(String[] args) {


         if(DAY.MONDAY == MONTH.JANUARY){ //이부분에러
         if(DAY1.MONDAY == MONTH1.JANUARY){ // 이부분은 설계상 일치하면 안되는 부분이다. 논리적 오류
             System.out.println("두 상수는 같습니다.");
             System.out.println("두 상수는 같습니다.");
         }       
         }       


         int day = DAY.MONDAY;
         int day = DAY1.MONDAY;


         switch (day) {
         switch (day) {
         case DAY.MONDAY:
         case DAY1.MONDAY:
             System.out.println("월요일 입니다.");
             System.out.println("월요일 입니다.");
             break;
             break;
         case DAY.TUESDAY:
         case DAY1.TUESDAY:
             System.out.println("화요일 입니다.");
             System.out.println("화요일 입니다.");
             break;
             break;
         case DAY.WEDNESDAY:
         case DAY1.WEDNESDAY:
             System.out.println("수요일 입니다.");
             System.out.println("수요일 입니다.");
            break;
        }
    }
}
</syntaxhighlight>
*enum을 사용하여 다시 표현
<syntaxhighlight lang='java' run>
public class EnumExample3 {
enum Day2{ 
    MONDAY,TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
enum Month2{ 
    JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY,
    AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER;
}
    public static void main(String[] args) {       
        Day2 day = Day2.MONDAY;
        switch (day) {
        case MONDAY:
            System.out.println("월요일입니다.");
            break;
        case TUESDAY:
            System.out.println("화요일입니다.");
            break;
        case WEDNESDAY:
            System.out.println("수요일입니다.");
             break;
             break;
         }
         }

2021년 8월 22일 (일) 20:07 기준 최신판

개요[ | ]

열거형상수
  • 예제 그냥 상수로 1주일을 표현했을때
public class EnumExample1 {

    private final static int MONDAY = 1;
    private final static int TUESDAY = 2;
    private final static int WEDNESDAY = 3;
    private final static int THURSDAY = 4;
    private final static int FRIDAY = 5;
    private final static int SATURDAY = 6;
    private final static int SUNDAY = 7;

    public static void main(String[] args) {        

        int day = MONDAY;

        switch (day) {
        case MONDAY:
            System.out.println("월요일 입니다.");
            break;
        case TUESDAY:
            System.out.println("화요일 입니다.");
            break;
        case WEDNESDAY:
            System.out.println("수요일 입니다.");
            break;
        }
    }
}
  • interface를 이용한 방법
public class EnumExample2 {


interface DAY1{  
    int MONDAY = 1;
    int TUESDAY = 2;
    int WEDNESDAY = 3;
    int THURSDAY = 4;
    int FRIDAY = 5;
    int SATURDAY = 6;
    int SUNDAY = 7;
}

interface MONTH1{  
    int JANUARY = 1;
    int FEBRUARY = 2;
    int MARCH = 3;
    int APRIL = 4;
    int MAY =5;
    int JUNE = 6;
    int JULY = 7;
    int AUGUST = 8;
    int SEPTEMBER = 9;
    int OCTOBER = 10;
    int NOVEMBER = 11;
    int DECEMBER = 12;
}


    public static void main(String[] args) {

        if(DAY1.MONDAY == MONTH1.JANUARY){  // 이부분은 설계상 일치하면 안되는 부분이다. 논리적 오류
            System.out.println("두 상수는 같습니다.");
        }       

        int day = DAY1.MONDAY;

        switch (day) {
        case DAY1.MONDAY:
            System.out.println("월요일 입니다.");
            break;
        case DAY1.TUESDAY:
            System.out.println("화요일 입니다.");
            break;
        case DAY1.WEDNESDAY:
            System.out.println("수요일 입니다.");
            break;
        }
    }
}
  • enum을 사용하여 다시 표현
public class EnumExample3 {

enum Day2{  
    MONDAY,TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}

enum Month2{  
    JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, 
    AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER;
}


    public static void main(String[] args) {        

        Day2 day = Day2.MONDAY;

        switch (day) {
        case MONDAY:
            System.out.println("월요일입니다.");
            break;
        case TUESDAY:
            System.out.println("화요일입니다.");
            break;
        case WEDNESDAY:
            System.out.println("수요일입니다.");
            break;
        }
    }
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}