인터페이스
  • 새로운 데이터타입을 생성하는데 사용
  • 추상적으로 데이터 타입만을 정의
  • 클래스가 어떤 인터페이스를 구현한다면, 해당 인터페이스에 존재하는 메소드를 모두 정의해야 함 (파라미터 개수, 파라미터 데이터타입, 반환값의 데이터타입도 동일)

인터페이스 문법

interface SomeName {
  function method1 ( param1:datatype, ...paramn:datatype ):returnType;
  function method2 ( param1:datatype, ...paramn:datatype ):returnType;
  ...
  function methodn ( param1:datatype, ...paramn:datatype ):returnType;
}
  • interface 키워드를 사용하여 인터페이스를 생성
  • 모든 메소드 선언시 public으로 선언하며, 중괄호({}) 미포함
  • 인터페이스 내부에 속성을 선언할 수 없음
  • 인터페이스안에 인터페이스를 선언할 수 없음

인터페이스 사용법

class SomeName implements SomeInterface1, ...SomeInterfacen {
}
  • 인터페이스를 사용하고자 하는 클래스는 implements 키워드를 사용하여 구현
  • implements 키워드는 extends 키워드 뒤에 위치해야 함
  • 콤마(,)를 사용하여 여러개의 인터페이스(데이터타입)를 사용할 수 있음

인터페이스 이름 짓기 규칙

  • 데이터타입으로서 쉽게 구분지을 수 있도록 첫글자는 대문자로 정의
  • 이벤트를 다루기 위해 인터페이스를 사용하는 경우 -Listener 접미사 사용
  • 어떤 능력을 나타내는 경우 -able 접미사 사용

인터페이스의 상속

  • 서브인터페이스를 구현하는 클래스는 슈퍼인터페이스의 메소드까지 모두 구현해야 함
// IntA 슈퍼인터페이스
interface IntA {
  function methodA ( ):Void;
}
// IntB 서브인터페이스
interface IntB extends IntA {
  function methodB ( ):Void;
}

마커 인터페이스

  • 마커(maker) 인터페이스는 텅빈 인터페이스를 뜻함
  • 클래스가 가지는 역할을 표시하기 위해 사용
interface SomeMakerInterfaceName {
}

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret