JAVA,객체지향

추상클래스와 인터페이스의 차이

25G 2021. 11. 26. 10:47

인터 : 교차로

페이스 : 직면하다.

 

인터페이스는 위 교차로처럼 저 길로 들어선 순간 저 세 가지길 외에는 갈 수 없다는 행위에 대한 강제성이 부여된다.

인터페이스는 흔히 약속이라고 얘기하는데 개념은 일방적인 약속이다. 만든사람입장에서 갑의 입장으로 일방적으로 약속을 주입시키는 것이다.

그래서 인터페이스는 갑과 을이 존재하는 약속이다.

 

자바에서 인터페이스는 행위에 대한 제약을 준다.

 


추상 클래스와 인터페이스의 차이

자 위와 같은 경우는 추상 클래스로 구현을 해야 한다 사나운 동물이라는 추상적인 것들의 행위는 정해놓을 수 없기 때문에 미완성 설계도만 만들어놓고 new 해서 띄울 수 있는 실체가 있는 것들이 설계도를 완성하도록 해야 한다.

 

그럼 위 동물들로 게임을 만들어본다고 가정을 하면

자 위 그림처럼 네 마리가 자바세상에 태어났는데 이 네마리에게 공통적으로 어떠한 행위를 부여하고 싶다 

위()

아래()

왼쪽()

오른쪽()

위 행위는 네마리가 다 할 수있고 내부적으로 위 네가지 행위만 할수 있다.

이 행위에 재약을 주기 위해서 인터페이스를 만드는 것이다.

 

'JAVA,객체지향' 카테고리의 다른 글

제네릭이란?(와일드카드)  (0) 2021.11.28
SRP와 DIP  (0) 2021.11.26
추상클래스  (0) 2021.11.26
오버라이딩  (0) 2021.11.25
오버로딩과 오버로딩의 한계  (0) 2021.11.25