728x90
인터페이스 : 기능들의 목록
- "무슨 기능을 만들어야할까?" VS "구현부터하기"
- 어떤 기능을 만들어야 할지부터 고민한다. 만들어야 할 기능들을 관련된 것 끼리 묶은 후 이름을 지어준다.
기능적 요구사항 & 비기능적 요구사항
- 기능적 : 필요한 메소드
- 비기능적 : 속도, 언어 -> 만족하기 위해서 아키텍처가 필요하다. 설계는 이름을 정하고, 관계를 정하는 것. 어떤 기능이 필요한지 고민하면 이름이 나오고 클래스가 나온다. 구현은 나중 얘기다.
인터페이스는 기능(메소드)이 선언만 되어있다. 기능들의 목록.
인터페이스 작성 문법
- "인터페이스이름"은 Upper CamelCase로 작성된다.
- Interface도 확장자 .java 파일로 작성한다.
- 인터페이스의 모든 필드는 public static final이어야 하며, 모든 메소드는 public abstract 이어야 한다. (JAVA 7까지는) final, abstract를 생략하면 자동으로 붙는다.
- Java 8 부터는 디폴트(default) 메서드와 정적(static) 메소드도 선언 가능하다.
[public] interface 인터페이스 이름 {..}
//예시
public interface User {..}
package 우클릭 -> interface
(48강 7분 부터 보면서 실습해보기)
인터페이스의 default method
- 인터페이스가 자주 바뀌는 경우 default method를 쓴다.
- 여러 사용자들이 해당 interface를 구현했는데, interface에 메소드가 추가될 때, default method 를 사용하면 interface를 구현하고 있는 클래스들이 업데이트 후 오류를 뱉는 경우를 방지한다.
- default method는 interface를 구현하고 있는 하위 class에서 따로 구현하지 않아도 기본 구현 된다.
'프로그래밍 > java' 카테고리의 다른 글
13. 접근 제한자 (0) | 2023.09.06 |
---|---|
12. final 클래스, 불변객체 String (0) | 2023.09.06 |
11. java 템플릿 메소드 패턴 (0) | 2023.05.23 |
9. java 생성자 (0) | 2023.05.11 |
8. java 상속, 오버라이딩, getter&setter (0) | 2023.04.10 |
댓글