HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🍗
[New] 조규현팀
/
🏪
TS Store
/
🎴
인터페이스와 추상클래스
🎴

인터페이스와 추상클래스

Person
완료율%
상태
완료
나의 블로그
Think Sharing (TS)
🪚
인터페이스와 추상클래스
주제목차내용Define 공통점차이결론📌 REFER
 

주제

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

목차

주제목차내용Define 공통점차이결론📌 REFER
 

내용

 

Define

ㅤ
추상화
인터페이스
정의
미완성 설계도
밑그림만 있는 설계도 [기본 설계도] - 행위기반
키워드
abstract. extends
interface, implements, public static final 생략 가능, abstract 생략 가능,default method 사용
다중 상속 여부
불가능
가능
관계
Is Kind Of - 상하관계
Is Able To
ㅤ
ㅤ
ㅤ
 

공통점

  • NEW 연산을 통해 객체화 할 수 없다. [인스턴스화 불가능]
  • 추상 메소드를 구현하도록 강제할 수 있다.

차이

💡
추상 클래스는 상속으로써 재사용과 확장이 주된 목적이다.
  • 하위 클래스들의 모든 공통 속성은 ROOT 클래스에 존재한다.
  • 보통 상속은 상위 타입, 하위 타입으로 (슈퍼-서브) 나뉘운다.
  • 그래서 상속은 위로 갈 수록 추상화 되어있고, 아래로 갈 수록 구체화 되었다고 할 수 있다.
💡
객체지향에서의 상속은 - 특성을 재사용하여 확장하는 것이다. - Is Kind Of 관계를 만족해야한다.
is kind of 이유 예시
  • 참새는 조류다
  • 펭귄은 동물이다.
  • 부적절한 예)
    • 가족관계
    • 아빠는 할아버지다.?
    • 나는 아빠다?
      • notion image
 
💡
인터페이스는 행위 중심적으로 공통 행위를 추출하여 동작의 동일성을 보장하는 것이 주된 목적이다.
  • 인터페이스의 구현 클래스 is able to 라고 해석할 수 있다. 즉, 무엇을 할 수 있는 이라는 행위 중심적이라고 볼 수 있다.
  • Serialize 직렬화 할 수 있는
  • Comparable 비교할 수 있는
  • Runable 실행 할 수 있는
 

결론

💡
상위 클래스는 물려줄 특성이 풍성할 수록 좋고, 인터페이스는 구현을 강제할 메소드의 개수가 적을 수록 좋다는 결론에 도달 할 수 있다.

📌 REFER

[Java] 인터페이스와 추상 클래스 차이는 무엇일까?
이번 글에서는 인터페이스와 추상 클래스의 차이에 대해서 정리해보겠습니다. 실제로 이 질문은 면접에서도 자주 물어보는 질문이고, 약간 알듯 말듯 한데 대답하기는 애매한 주제라 한번 각각 특징에 대해서 정리해보고 둘의 차이를 정리 해보겠습니다. 클래스를 설계도에 비유한다면 추상 클래스는 미완성 설계도에 비유할 수 있습니다. 추상 클래스는 키워드 abstract 를 붙이기만 하면 됩니다.
[Java] 인터페이스와 추상 클래스 차이는 무엇일까?
https://devlog-wjdrbs96.tistory.com/370
[Java] 인터페이스와 추상 클래스 차이는 무엇일까?
[Java] 추상 클래스와 인터페이스의 차이
간단히 말하면... 클래스를 설계도라 하면, 추상 클래스는 미완성 설계도에 비유할 수 있다. (여기서 클래스가 미완성이라는 것은 추상 메서드를 포함하고 있다는 의미이다.) 예를 들면, 같은 크기의TV라도 기능의 차이에 따라 여러 종류의 모델이 있지만 설계도 90은 동일할테니, 어느정도 틀을 갖춘 상태에서 진행하는 것이 좋다. 이때 사용할 수 있는 것이 추상 클래스 이다.
[Java] 추상 클래스와 인터페이스의 차이
https://velog.io/@new_wisdom/Java-%EC%B6%94%EC%83%81-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EC%9D%98-%EC%B0%A8%EC%9D%B4
[Java] 추상 클래스와 인터페이스의 차이