자바프로그래밍

[ JDK 1.7 ] Interface (인터페이스)

제주도소년 2020. 4. 12. 21:13

JDK 1.7 버전과 1.8 이후의 인터페이스는 다르기 때문에 1.7 버전을 먼저 정리함

 

[ 인터페이스 ]

- 또 다른 형태의 클래스지만 클래스가 아니다

- 인터페이스는 추상메소드와 상수(static final)을 가질 수 있고 멤버변수는 가질 수 없다.

- 접근제한자는 무조건 public 이다.

- 객체 생성이 불가능하다. ( 하위클래스가 객체를 생성해야 한다. )

- 아래와 같이 키워드 생략이 가능하다. 그렇다고해서 default 접근제한자가 되는것은 아니다. 또한 메소드도 일반 메소드가 되는것이 아니다. 추상메소드이다

 

인터페이스를 작성할 때 interface 앞에 인터페이스 명을 선언하면 되는데 관례적으로 클래스는 첫 글자는 대문자로 작성하기 때문에 인터페이스는 I (대문자 아이)를 붙여주는게 관례이다.

 

[ implements ] (구현)

- 인터페이스를 사용하기 위해서는 implements 라는 키워드를 사용한다. 상속이 아닌 구현이다. 인터페이스 역시 IS-A 관계가 성립되어야 한다.

- 인터페이스를 구현한 클래스는 반드시 인터페이스의 추상메소드를 Override 해야 한다.

- 인터페이스는 기능만 구현한다. ( IS-A 관계 )

 

인터페이스는 다중 구현이 가능하다. ( 다중 상속 아닙니다. 자바는 단일 상속만 지원합니다. ) ,implements 뒤에 쉼표로 구분하면 됨. 시중에 나와있는 책 대부분 설명을 이상하게 함

'자바프로그래밍' 카테고리의 다른 글

Wrapper class  (0) 2020.04.23
[JAVA] ArrayList 를 이용한 성적처리 프로그램  (0) 2020.04.21
추상 클래스  (0) 2020.04.10
상속 ( Inheritance )  (0) 2020.04.07
메소드 오버로딩(Method Overloading)  (0) 2020.04.01