Programming/Java

[JAVA] 추상클래스, 추상 메소드, 인터페이스 개념 정리

bisi 2020. 3. 10. 10:14

추상 클래스, 추상 메소드란?

추상 클래스 : 클래스가 전체적인 구성을 가지지 못한 설계만 되어 있는 클래스이다.

미완성 설계도로 완성된 제품을 만들 없듯이 추상클래스로 인스턴스를 생성할 없다.

추상클래스는 상속(Exctends) 통해서 자식 클래스에 의해 완성이 된다. 그래서 추상클래스로는 기능을 못하지만, 새로운 기능을 정의하는데 있어서 바탕() 있다.

 

  • 추상 메소드가 하나 이상 포함되면 반드시 추상클래스로 선언이 되어야한다.
  • 추상클래스에서 추상 메소드가 아닌 일반 메소드를 포함 시킬 있다.
  • 추상클래스를 상속하는 자식 클래스에서 부모가 가진 메소드를 모두 오버라이딩 해야한다.
  • 추상 메소드는 몸체가 없고, 선언부만 존재한다.

 

 

 

인터페이스란?

 

인터페이스는 추상클래스처럼 추상 메소드를 갖지만 추상 클래스보다 추상화 정도가 높아서 추상 클래스와 달리 몸통을 갖춘 일반 메소드 또는 멤버 변수를 구성원으로 가질 없다.

오직 추상 메소드와 상수만을 멤버로 가질 있으므로 그외의 다른 어떠한 요소도 허용하지 않는다. 추상클래스를 부분적으로 미완성된 설계도라고 했다면, 인터페이스 클래스는 아무것도 없고 밑그림만 그려져 있는 상태이다.

 

  • 모든 멤버 변수는 public static final 이어야하며, 이를 생략할 있다.
  • 모든 메소드는 public abstract이어야 하며, 이를 생략할 있다.
  • 인터페이스는 인터페이스로부터만 상속(Extends)받을 있다. 클래스와 달리 다중 상속이 가능하다.
    • ex ) interface Fingtable extends Movable, Attackable{}
      • 여기서 Moveable Attackable 모두 interface 클래스이다.

출처 : https://aileen93.tistory.com/107

 

[JAVA] 추상(abstract) 클래스와 인터페이스(interface) 클래스

추상(abstract) 클래스와 인터페이스(interface) 클래스 1. 추상 클래스와 추상 메소드란? 추상클래스란 말 그대로 추상적으로 밖에 그려지지 않은 클래스라고 한다. 즉, 클래스가 전체적인 구성을 다 가지지 못한..

aileen93.tistory.com

 

'Programming > Java' 카테고리의 다른 글

[JAVA] Char 형 예제  (0) 2020.03.10
[JAVA] int, string null 체크  (0) 2019.04.27
[Java] 데이터 형 변환 (String ↔ int)  (0) 2019.04.18