Christmas Pikachu 인터페이스(Interface)
개발일지/자바

인터페이스(Interface)

ZI_CO 2022. 9. 7.

인터페이스란?

구현된 것이 아무것도 없는 밑 그림만 잇는 기본 설계도 (기능 중심 설계)

 *특성 멤버 변수, 일반 메서드를 가질 수 없고, 오직 추상 메서드와 상수만을 멤버로 가질 수 있다.
 * 추상 클래스보다 추상화가 더 높다.
 * 인터페이스는 표준, 약속, 규칙(강제성이 있는 규칙이다.)

 * 사용방법 
 * class 키워드 대신에 interface라는 키워드를 사용한다.
 * class와 같이 접근 제어 지시자를 public, default를 사용 할 수 있다.

 * 제약 사항
 * 모든 멤버 변수는 public static final 이어야 한다.

ex)

public static final int SERIAL_NUMBER = 100; // 상수만을 가질 수 있다.

 

<형태>

public abstract void turnOn();  // 전부 자거성하는 문법
void turnOff(); // 생략한 문법

모든 메소드는 추상 메소드 이어야 하고, public abstract 키워드를 생략 할 수 있다.  

 

 

 

 

 

 

 

소리라는 기능도 구현을 하고싶다면 인터페이스하나 만들어 sound라는 메소드를 만들어서 implement를 해주면 된다.

 

 

인터페이스에 메소드를 만들어주고 그걸 구현하는 클래스에서 재구성해서 사용하면 된다. 


 

 

'개발일지 > 자바' 카테고리의 다른 글

FlowLayout (배열 활용)  (0) 2022.09.13
FlowLayout활용  (2) 2022.09.13
디자인패턴 - 템플릿 패턴(final 사용법)  (0) 2022.09.07
업캐스팅, 다운캐스팅  (0) 2022.09.07
추상 클래스  (0) 2022.09.05

댓글