티스토리 뷰

JAVA

TIL(11) 인터페이스 vs 추상 클래스

나죽나강 2021. 5. 27. 06:52

1. 다중상속에 관하여 

인터페이스는 여러 부모클래스의 메소드를 이어 받을수 있다.

추상 클래스는 상속을 강제하기 때문에 단일 상속밖에 받지 못한다.

 

그렇다면 상속이랑 추상클래스의 차이점은 뭔가?

동장 방식이 똑같이 않냐?

언제 사용할까? (사용용도)

 

자바에는 추상클래스라는 클래스가 있다. 우리가 알고 있는 클래스와는 달리 일종의 미완성의 클래스이다. 보통 클래스가 new로 인스턴스를 생성할 수 있지만, 추상클래스는 그것이 불가능하다. 오직 상속을 통해서 자손 클래스에 의해서만 완성되는 클래스이다.

 

그럼 이런 미완성 클래스가 무슨 역할을 할까? 단독으로는 아무 역할을 못한다. 그러나 새로운 클래스를 작성하는데 밑바탕이 되는 역할을 할 수 있다. 새로운 클래스 작성 시 아무것도 없는 상태에서 시작하는 것보다는 불완전하지만 어느 정도 틀을 갖춘 상황에서 시작하는 것이 나을 것이다.

 

추상클래스를 자동차로 예를 들면 자동차도 용도, 크기 등에 따라 종류가 나뉜다. 그러나 기본적인 부분은 모두 동일할 것이다. 바퀴, 엔진, 운전석 등과 같은 것들이다. 여기에서 공통된 부분을 따로 떼어내어 미완성의 설계도로 만든 것이 추상클래스라 할 수 있다. 클래스를 작성할 때도 공통된 부분을 추상클래스로 만들어두고 그 외 필요한 부분은 각각 클래스에서 구현하면 효율적으로 클래스를 구현할 수 있다.



'JAVA' 카테고리의 다른 글

TIL(13) 디자인패턴  (0) 2021.06.01
TIL(12) 객체지향 설계 SOLID 5원칙  (0) 2021.06.01
TIL(10) 상속과 구현(인터페이스)  (0) 2021.05.27
TIL(9) 다형성 - 코드적 접근  (0) 2021.05.27
TIL(8) 객체 - 앨런케이의 정의(2)  (0) 2021.05.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함