본문 바로가기

Java 공부/신용권의 이것이 자바다

인터페이스(interface)의 정의와 선언방법

반응형

인터페이스(Interface)는 100% 추상 클래스로 개발코드와 객체를 서로 연결시켜 주는 역할을 한다.
개발코드와 객체의 메소드 사이에 인터페이스를 두면, 개발코드를 수정하지 않고 사용하는 객체를 변경할 수 있다.
인터페이스는 하나의 객체가 아니라 여려 객체들과 사용이 가능하므로 어떤 객체를 사용하느냐에 따라서 실행 내용과 리턴 값이 달라진다.
그러므로 인터페이스를 사용하면, 개발코드의 변경 없이 실행내용과 리턴값을 다양화 할 수 있다.
상속은 1:1이지만, 인터페이스는 여러 개를 구현할 수 있다.
인터페이스를 선언하는 법을 알아보자!
1. 인터페이스 이름: 자바 식별자 작성 규칙에 따라 작성된다.
첫자는 대문자로 시작한다.
숫자로 시작하면 안되고, $와 _를 제외한 특수 문자는 사용하면 안된다.
다른 단어가 결합할 때, 첫 알파벳은 대문자로 쓴다.
2. 소스파일 생성: 인터페이스명.java
3. 인터페이스 선언
[public] interface 인터페이스명 {....}
4. 인터페이스 구성 멤버
상수: 인터페이스의 상수는 모두 static final의 성격을 가지고 있다. 상수명은 모두 대문자로 작성한다. 반드시 초기값을 주어야 한다. 두 단어가 연결될 때는 _로 연결한다.
추상메소드 : public abstract는 앞에 붙여도 되고 안붙여도 된다. 실행 블록없이 선언부만 존재해야 한다.
디폴트(default) 메소드: [public] default 리턴타입 메소드명(매개변수, ....) {....}
실행블록을 가지고 있는 메소드이다.
default 키워드를 꼭 붙여줘야 한다.
기본적으로 public 접근 제한을 가지고 있으므로 생략가능하다.(컴파일 과정에서 자동으로 붙는다.)
정적(static) 메소드: [public] static 리턴타입 메소드명(매개변수, ...) { ... }
* 디폴트 메소드와 정적 메소드는 자바8부터 추가되었다.
아래는 위 설명에 맞춰 작성한 코드이다.

반응형