인터페이스란?
추상 메서드만을 가질 수 있고 구현메서드는 가질 수 없는 일종의 추상 클래스다.
이해를 위한 비유 : 교수님 과제와 같다. 교수님은 과제 주제(이름)만 던져주시지 뭘 채워주시지는 않는다. 채우는 건 학생(자식클래스)의 몫이다.
- 그래서 자식클래스들에게 함수의 기능을 강제적으로 전부 구현하게 하는데에 목적이 있다. 이때문에 다형성의 특징을 갖고 있다.
- 또한 추상화는 따로 구현을 해야 하는게 아니라 공통적인 속성과 기능을 정의하는 것이기 때문에 추상화를 할 때 편리하게 사용할 수 있다.
다만 일반 추상 클래스와 다르게 상속해 줄 기능이 구현된 메서드가 없기 때문에 상속성의 특징은 없는 것 같다. 캡슐화도 인터페이스는 추상메소드만 있기 때문에 힘들 것 같다...
참고로 자바는 클래스의 다중 상속을 지원하지 않는데 , 인터페이스는 다중 상속이 가능하다.
'CS' 카테고리의 다른 글
어노테이션( @ ) (0) | 2023.03.29 |
---|---|
오버라이드(@Override) (0) | 2023.03.29 |
객체 지향의 대표 특징 4 : 다형성 (0) | 2023.03.28 |
객체 지향의 대표 특징 3 : 캡슐화 (0) | 2023.03.28 |
객체 지향의 대표 특징 2 : 상속성 (0) | 2023.03.28 |
인터페이스란?
추상 메서드만을 가질 수 있고 구현메서드는 가질 수 없는 일종의 추상 클래스다.
이해를 위한 비유 : 교수님 과제와 같다. 교수님은 과제 주제(이름)만 던져주시지 뭘 채워주시지는 않는다. 채우는 건 학생(자식클래스)의 몫이다.
- 그래서 자식클래스들에게 함수의 기능을 강제적으로 전부 구현하게 하는데에 목적이 있다. 이때문에 다형성의 특징을 갖고 있다.
- 또한 추상화는 따로 구현을 해야 하는게 아니라 공통적인 속성과 기능을 정의하는 것이기 때문에 추상화를 할 때 편리하게 사용할 수 있다.
다만 일반 추상 클래스와 다르게 상속해 줄 기능이 구현된 메서드가 없기 때문에 상속성의 특징은 없는 것 같다. 캡슐화도 인터페이스는 추상메소드만 있기 때문에 힘들 것 같다...
참고로 자바는 클래스의 다중 상속을 지원하지 않는데 , 인터페이스는 다중 상속이 가능하다.
'CS' 카테고리의 다른 글
어노테이션( @ ) (0) | 2023.03.29 |
---|---|
오버라이드(@Override) (0) | 2023.03.29 |
객체 지향의 대표 특징 4 : 다형성 (0) | 2023.03.28 |
객체 지향의 대표 특징 3 : 캡슐화 (0) | 2023.03.28 |
객체 지향의 대표 특징 2 : 상속성 (0) | 2023.03.28 |