
인터페이스(interface)
- 특정 행위에 대한 추상화
- 물리적 형태는 class와 동일하나 선언방법에 차이가 있다.
- 행위를 좀 더 쉽게 사용하기 위해서 만들어준다.
- 상속받는 클래스는 행위를 정의해줘야만 한다.
- 필드 정의는 가능하나 의미를 가지지는 않는다.
- 내용이 없는 메서드를 생성한다.
- 추상화되지만 abstract를 적어주지 않는다.
- 인터페이스를 상속받는 클래스는 인터페이스 내의 행위를 할 수 있다.
- 클래스는 상속하는 것을 나는 곧 너라는 의미로 인터페이스를 상속하는 것은 특정 행위를 할 수 있다는 의미로 해석되어 두 상속은 완전이 다른 의미를 가진다.
인터페이스 생성
[ public ] interface 인터페이스이름 { ... }
상수 필드 선언
[ public static final ] 타입 상수이름 = 값;
추상 메소드 선언
[ public ] 리턴타입 메소드이름(매개변수, ... );
인터페이스 구현
public class 구현클래스이름 implements 인터페이스이름 {
@Override
// 인터페이스에 선언된 추상 메서드의 실체 메소드 선언
}
다중 인터페이스 구현
public class 구현클래스이름 implements 인터페이스A, 인터페이스B {
@Override
// 인터페이스A에 선언된 추상 메서드의 실체 메소드 선언
// 인터페이스B에 선언된 추상 메서드의 실체 메소드 선언
}
'JAVA' 카테고리의 다른 글
[ JAVA ] 다형성(polymorphism) - 서로 다른 타입의 값으로 다양한 결과를 도출하는 성질 (0) | 2021.06.01 |
---|---|
[ JAVA ] Casting (upCasting/downCasting) - 객체타입끼리의 형변환 (0) | 2021.05.31 |
[ JAVA ] 상속 - 중복코드 줄이기 (0) | 2021.05.26 |
[ JAVA ] 접근 제한자 - 어디까지 접근이 가능한가 (0) | 2021.05.25 |
[ JAVA ] 2차원 배열 - 배열의 배열 (0) | 2021.05.24 |