본문 바로가기
Study/java

객체 지향 프로그래밍(OOP)에서 추상메서드와 인터페이스의 차이점이란?

by 얏옹이 2023. 4. 11.
반응형

먼저 일전에 필자가 포스팅한 블로그를 보자.

 

2022.11.13 - [Study/java] - Java 추상클래스(abstract class)와 인터페이스(Interface)의 차이는 무엇일까?

 

Java 추상클래스(abstract class)와 인터페이스(Interface)의 차이는 무엇일까?

수업을 듣는 도중 의문이 들었다. 추상클래스(abstract class)와 인터페이스(Interface)는.. 얼핏 보면 하는일이 같아보이는데 그럼 추상클래스를 인터페이스처럼 써도 되는거고 인터페이스를 추상클

yat-ong.tistory.com

 

벌써 6개월이 흘렀다. 저 포스팅을 한게 11월 13일이니 아마 학원 수업을 시작한지 한달이 채 되지않은 시점인거같다.

 

그때보다 지금 코딩실력은 늘었나? 에 대한 대답은 Yes, 그때 배운걸 아직도 기억하나? 에 대답은 No

 

좀더 상세하고 정확하게 기록하고자 한다.

 

반응형

 

추상클래스(Abstract Class)

  • 추상 클래스는 추상 메서드와 일반적인 구체화 메서드, 일반 필드 다양하 선언이 가능하다.
  • 추상 클래스는 인스턴스화 할수 없으며, 다른 클래스가 상속할수 있는 기반 역활을 하는 클래스이다.
  • 추상 클래스 안의 추상 메서드는 (선언부) 까지만 존재하고, {구현부}는 존재하지 않는다. 따라서 구현되는 구현 클래스에서 해당 메서드를 재정의(Override) 해야한다.
  • 추상 클래스는 단 하나의 구현클래스만 상속 가능하다.

 

인터페이스(Interface)

  • 인터페이스는 구현 클래스가 준수해야하는 규칙 및 계약을 정의하는 추상 메서드 모음이라고 할수있다.
  • 일반 메서드, 필드는 인터페이스 안에 선언 할수 없다.
  • 인터페이스 내에는 추상 메서드만 선언이 가능하며, 기본적으로 Public 메서드가 선언 가능하며, 선언부만 존재하고 구현부는 존재하지 않는다.
  • 구현 클래스는 여러개의 인터페이스를 상속 가능하다.
  • 인터페이스가 다른 인터페이스를 상속하는것도 가능하다.(다중 상속)
반응형