Spring과 진짜 초면인 우리
인터페이스는 객체 지향의 특징들을 한번에 함축하고 있는 정말 멋진 개념입니다!
인터페이스는,
앞서 다룬 객체지향의 4가지 특징 중에서도
특히, '다형성과 추상화'를 구현하기위해 주로 사용된다고 생각합니다. ( + 다중 상속은 덤 ! )
'다형성'은
인터페이스를 구현하는 '다양한' 클래스들이 같은 메서드를 다양한 방법으로 구현할 수 있다는 것을 의미,
'추상화'는
인터페이스를 통해 클래스'들'이 가져야 할 메서드의 시그니처를 정의할 수 있다는 것을 의미
++ 인터페이스는 '캡슐화'와 '상속' 또한 밀접한 관련이 있죠!
인터페이스를 사용함으로써 '캡슐화'된 추상적인 개념을 정의할 수 있고, '상속'을 통해 이를 구현한 클래스에서 재사용할 수 있다는 부분~
(코드의 재사용성을 높일 수 있겠군요)
따라서,
인터페이스는 다형성과 추상화를 통해 객체지향의 핵심원칙 중 하나인
"확장에는 열려있고 변경에는 닫혀있어야 한다"
를 구현할 수 있게 합니다.
인터페이스는 다른 객체들이 해당 개념을 사용할 수 있도록 필요한 메서드나 속성을 노출시키고,
그 외에 내부 구현 내용을 숨기는 역할을 합니다.
따라서, 인터페이스를 사용함으로써 '캡슐화'된 추상적인 개념을 정의할 수 있습니다.
또한, 인터페이스는 '상속성'을 활용하여 '다형성'을 구현할 수 있습니다.
인터페이스를 상속받는 클래스는 해당 인터페이스가 정의한 메서드를 반드시 구현해야 하므로,
같은 인터페이스를 구현한 여러 클래스들은 서로 다른 구현 방식을 가질 수 있습니다.
이를 통해, 다양한 구현 방식을 가진 객체를 동일한 타입으로 다룰 수 있는 '다형성'을 구현할 수 있습니다.
'Spring과 진짜 초면인 우리들에게' 카테고리의 다른 글
| 자주 사용하는 웹사이트는 어떤 기능을 갖고 있지? (0) | 2023.04.03 |
|---|---|
| @Override 넌 왜 필요하니? (오버로딩 아님 주의!) (0) | 2023.03.29 |
| 객체지향의 특징 4가지 - 상속성 (0) | 2023.03.28 |
| 객체지향의 특징 4가지 - 다형성 (0) | 2023.03.28 |
| 객체지향의 특징 4가지 - 캡슐화 (0) | 2023.03.28 |