인터페이스의 Marker 기능

CODEDRAGON Development/Java

반응형

   

   

인터페이스의 Marker 기능

  • 무엇인가를 표시하는(클래스의 특성을 표시하는) 용도로 인터페이스 사용(마커, 표시하는 역할)
  • 이러한 경우, 인터페이스의 이름은 ~able로 끝나는 것이 일반적입니다.
  • 이러한 경우, 인터페이스는 비어 있는 형태를 가질 수 있습니다.
  • 이런 경우, instanceof 연산자를 통해서 클래스의 특성을 파악하여 특성에 맞게 수행할 수도 있습니다.

   

interface UpperCasePrintable {

// 비어 있는 형태

}

   

class NamePrinter {

public static void print(Object obj) {

String str = obj.toString();

if (obj instanceof UpperCasePrintable) {

// instanceof 연산자를 통해서 클래스의 특성을 파악하여 특성에 맞게 수행

str = str.toUpperCase();

}

System.out.println(str);

}

}