예제로 공부하는 Java 100 문제풀이 Part.4
- 인터페이스란 무엇인가?
사용자간 또는 컴퓨터간 통신이 가능하도록 해주는 디바이스나 프로그램.
즉, "규격"을 인터페이스라고 할 수 있고, 인터페이스는 하나의 "표준화"를 제공하는 것이라 할 수 있다.
- 추상 클래스 vs 인터페이스
추상 클래스와 거의 비슷하나 그 추상화 정도가 더 높다.
따라서 일반 메서드 멤버 필드(변수)를 가질 수 없다.
이러한 점들이 추상 클래스와 인터페이스간 가장 큰 차이점 중 하나이다.
- 자바에서의 인터페이스 문법
표준화 및 규격을 인터페이스로 제공한다.
따라서 어떤 클래스가 해당 인터페이스를 사용(상속)한다면 인터페이스에 선언되어져 있는 메서드를 구현해야 한다.
인터페이스는 class 키워드를 사용하지 않고 별도의 interface 키워드를 사용한다.
class → extends interface → implements
추상 클래스와 같이 메서드의 구체적인 내용은 기술되어져 있지 않으므로 인터페이스를 상속받은 클래스에서 재정의(오버라이딩)하여 사용해야 한다.
- 상속 vs 구현
클래스와 인터페이스 이 둘의 가장 큰 차이점 중 하나는 "상속"이다.
자바에서 클래스는 "단일 상속"만 가능하지만, 인터페이스는 "다중 상속"이 가능하다.
그러나 인터페이스에서는 extends 표현을 쓰지 않고 "구현"의 의미를 강조하는 implements 키워드를 사용하여 다중 상속을 구현한다.
'Backend > Java' 카테고리의 다른 글
[인프런] 다형성, polymorphism, 개념, 학습 (0) | 2022.03.10 |
---|---|
[인프런] 인터페이스, 문법, 개념 (0) | 2022.03.06 |
[인프런] 추상, 클래스, 추상 클래스, 특징, 개념 (1) | 2022.03.06 |
[인프런] 반복문, for문, 객체 배열 (0) | 2022.03.02 |
[인프런] 객체, 참조값, 요소, 객체 배열 (0) | 2022.03.02 |