본문 바로가기
Web Programming/용어

추상클래스와 인터페이스 개념과 공통점, 차이점

by hyeon-H 2021. 7. 29.
728x90
반응형

추상 클래스와 인터페이스의 공통점과 차이점
언제 사용되는지, 그리고 목적에 대해서 알아보는 글입니다.



추상클래스

추상 메소드를 하나라고 가지고 있는 클래스를 추상클래스로 분류 할 수 있다.
추상클래스로는 인스턴스를 생성할 수 없고, 추상클래스를 상속하는 자손클래스에 의해서만 완성될 수 있다.
이때 추상클래스를 상속하는 자손클래스는 반드시 추상메소드를 구현하여야한다, 또한 다중 상속이 불가능하다.

  • 공통된 구현을 상위 클래스에서 뽑아서 사용하려고 사용한다.
  • 추상클래스는 객체 생성이 불가능 하다.
  • 하위 클래스를 참조하여 상위(추상) 클래스의 객체를 생성한다.
  • extends 키워드 사용

사용목적

코드의 중복과 유지보수의 편의성

ex) 전자기기의 전원버튼 


인터페이스

상수, 추상메소드만을 가지고 있는 클래스이며, 이를 구현하는 클래스는 인터페이스의 모든 메소드를 구현해야 한다.
다중 상속이 가능하다.

  • 모든 메소드가 구현된 부분이 없는 추상메소드 형태로 이루어진 클래스
  • 상속의 관계가 없는 클래스간의 서로 공통되는 로직을 구현하여 사용 할 수 있도록 한다.
  • Implements 키워드 사용

사용목적

일부로 결합도가 낮은 코드를 만들어 협업과 유지보수가 용이해지도록 한다.

ex) 전자기기의 전원버튼 

 

[Java] 추상클래스와 인터페이스의 공통점과 차이점

공통점 추상클래스와 인터페이스는 선언부만 있고 구현 내용이 없는 클래스이다. 자기 자신이 직접 객체를 생성할 수 없으며, 자식 클래스가 추상클래스를 상속(extends)받거나, 인터페이스를 구

moonong.tistory.com

 

 

추상클래스와 인터페이스의 공통점과 차이점

추상클래스와 인터페이스를 알아보기 앞서 인터페이스와 추상클래스가 언제, 그리고 왜 쓰이는지 그 목적성에 대해서 분명히 알고 개념을 익힌다면 더욱 공통점과 차이점을 명확하게 할 수 있

blog.metafor.kr

 

공통점

함수에 대한 선언만 하고, 구현하지 않는 메소드가 존재합니다.

자신을 인스턴스로 생성이 불가능하다.

추상메소드의 구현을 강제한다.

차이점

인터페이스 추상클래스
다중 상속이 가능하다. 다중 상속이 불가능하다.
추상 메소드만 사용이 가능하다. 일반 메소드와 추상메소드 사용이 가능하다.
생성자와 일반변수를 가질 수 없다 생성자와 일반변수를 모두 가질 수 있다.
상속받은 클래스는 반드시 인터페이스에 있는 메서드를 모두 구현해야 한다. 상속받는 클래스는 추상메서드만 구현해도 된다.
Implements 사용 Extends 사용

 

728x90
반응형