2012년 10월 14일 일요일

OCJP 문제풀이 - Question 12


QUESTION 12
Given:

public class Rainbow {
  public enum MyColor {
    RED(0xff0000), GREEN(0x00ff00), BLUE(0x0000ff);
    private final int rgb;
    MyColor(int rgb) { this.rgb = rgb; }
    public int getRGB() { return rgb; }
  };
  public static void main(String[] args) {
    //insert code here
  }
}

Which code fragment, inserted at line 9, allows the Rainbow class to compile?

A. MyColor skyColor = BLUE;
B. MyColor treeColor = MyColor.GREEN;
C. if(RED.getRGB() < BLUE.getRGB()) { }
D. Compilation fails due to other error(s) in the code.
E. MyColor purple = new MyColor(0xff00ff);
F. MyColor purple = MyColor.BLUE + MyColor.RED;

Answer: B
Section: All

Explanation/Reference:

A, C : BLUE와 같이 enum요소를 쓰기 위해서는 MyColor.BLUE 형태로 쓰여야 한다.
E : MyColor 와 같이 생성할 수는 없다.
F : 가능하지 않다.

블로그 보관함