인터페이스 : 다른 클래스코드들과 중간매개역할을 중점으로 함.
추상메서드와 상수로만 이루어져있고 추상클래스처럼 스스로 객체생성 불가. 생성자가 없음.
*상수_값을 초기화한 다음엔 대입이 불가능
접근제한자 interface 인터페이스이름 {
...
접근제한자 abstract 메서드이름 (매개변수1, 매개변수2...)
...
}

인터페이스의 모든 필드는 public/static/final, 모든 메서드는 public/abstract이어야 한다.
인터페이스 안에서는 상수라고 인식하기 때문에 final 생략가능


인터페이스끼리는 extends 상속이 가능하다.
인터페이스를 구현하는 클래스는 implements 사용
인터페이스+다형성 예제

Phone 인터페이스 생성
**static : 객체가 생성되지 않기 때문에 내부상수에 접근하려면 클래스변수처럼 static 선언되어 메모리에 올라가야함!
ex) static int MAX_BATTERY_CAPACITY = 100;

Phone 인터페이스를 기반으로 두개의 구현클래스 생성
5개의 메서드를 각각 전부 오버라이딩해야한다.

+다형성 고려
생성자의 파라미터를 Person 객체로 받거나
메서드의 파라미터를 변수로 받거나
결과

**인터페이스 사용의 장점**
클래스의 내용을 전혀 보지 않고도 개발코드로 객체를 사용할 수 있다. 👉정보은닉
구현클래스들이 독립적으로 사용될 수 있다. 개발코드에서 객체변경이 필요할때 개발코드 수정을 최소화할 수 있다. 👉모듈화
'JAVA' 카테고리의 다른 글
[JAVA] 예외처리 (1) | 2023.08.29 |
---|---|
[JAVA] 내부클래스 (0) | 2023.08.29 |
[JAVA] 추상메서드와 추상클래스 (0) | 2023.08.26 |
[JAVA] 다형성 (0) | 2023.08.26 |
[JAVA] 클래스 타입변환 (0) | 2023.08.26 |