인터페이스는 모든 메소드가 추상메소드 로 이루어져 있다.
1.구현 강제,2. 다형성 제공, 3.결합도를 낮추는 효과 기능이 있다.
프로젝트를 진행할 때 인터페이스를 계속 사용해야하는 메소드들을 모아두어 구현을 쉽게 할 수 있는 용도로 사용했었는데 새롭게 알게 된 원리들이 있었다.
다형성과 팩토리 패턴을 이용하여 어떤 클래스의 객체를 만들지 서브 클래스에서 결정하도록 하여 결합도를 낮춘다.
갑자기 이번 강의를 듣고 extends이랑 implement 개념이 혼란스러워서 다시 정리했다..
extends : 부모객체에서 선언과 구현 모두 하며 구현된 메소드를 자식객체에서 그대로 사용할 수 있다.
implement: 부모객체에서 메소드를 선언 하며 선언된 메소드를 자식 객체에서 오버라이딩으로 구현하여 사용 할 수 있다.