본문 바로가기
JAVA

[JAVA]인터페이스 (Interface)

by 주옹스 2020. 8. 11.

인터페이스란 ? 

 

클래스를 위한 템플릿으로서의 기능을 수행하는 추상 클래스의 한 종류이다.

 

[ 특징 ] 

- 인터페이스는 interface라는 키워드를 사용하여 선언하며, 메소드 시그니처와 상수 선언만을 포함할 수 있다.

  (메소드 시그니처 : static , 상수 : final)

** 자바 8미만의 인터페이스는 모든 메소드가 선언만 있고 정의가 없는 추상메소드만 선언 가능

** 자바 8부터는 default 와 static 메소드는 interface정의에 구현체를 가질 수 있다.

- 인터페이스 내의 필드는 상수 선언만 한다.

- 클래스에서 인터페이스를 구현하기 위해서는 implements키워드를 사용

- 클래스가 추상클래스가 아닌 경우 인터페이스를 implements한 클래스는 해당 인터페이스의 모든 추상 메소드를

   재정의 해야함

- 인터페이스는 다중 상속이 가능. 다중상송윽 ","로 구분하여 여러개의 인터페이스를 상속할 수 있다.

- 인터페이스끼리 상속 할 경우 extends키워드를 사용

 

 

[ 장점 ]

- 클래스간 결합도를 낮출 수 있다.

- 표준화가 가능하다.

- 개발시간을 단축할 수 있다.

 

 

 

 

# 클래스와 인터페이스

 

클래스와 인터페이스관계

 

 

 

# 인터페이스 작성

 

인터페이스 작성법
인터페이스 멤버

 

 

 

1) 디폴트 메소드

    - public을 생략해도 public특성을 가짐.

    - 디폴트 메소드를 사용하기 위해서는 반드시 인터페이스를 구현한 클래스의 객체를 생성한 후에만 사용 가능

    - 인터페이스를 상속 받은 인터페이스는 디폴트 메소드를 재정의하거나 다시 추상 메소드로 선언 할 수 있다.

 

디폴트 메소드

 

2) 정적 메소드

    - static메소드는 public을 생략해도 public특성을 갖는다.

정적 메소드

3) private 메소드

 

private메소드

 

 

private 사용 예제

'JAVA' 카테고리의 다른 글

[JAVA] 입출력 스트림 (I/O Stream)  (0) 2020.08.18
[JAVA] 생성자  (4) 2020.08.11
[JAVA] String _ API  (0) 2020.08.06
[JAVA] 비정형인자  (0) 2020.08.04
[JAVA] 재귀 호출  (0) 2020.08.04