JAVA/JAVA

[JAVA] 추상클래스(Abstract class), 인터페이스(Interface)

Anna-Jin 2021. 11. 15. 17:00
728x90
반응형

추상클래스 (Abstract Class)

일반 클래스와 크게 다를 것이 없으나, 추상메서드를 선언하고 상속을 통해서 자식 클래스에서 완성하도록 유도를 하는 클래스이다.

추상 메소드가 하나라도 존재하는 클래스

일반 메소드도 존재할 수 있다.

추상 클래스로는 객체를 생성할 수 없다. → 상속을 위한 클래스이므로.

추상 클래스를 물려받은 자식 클래스만 객체 생성 가능(상속 문법은 클래스 상속과 동일함)

  • 추상메소드

상속 기반

부모 클래스에서는 구현하지 않고, 자식 클래스에서 반드시 구현해야 하는 메소드이다.

// 추상 메소드
public abstract void cry();  // 부모 클래스에서 구현하지 않음

// 일반 메소드
public void eat() {
    System.out.println("냠냠");
}

 

인터페이스(Interface)

메소드는 구현할 수 없으며, 인터페이스를 구현(상속)하는 클래스에서 메소드를 반드시 구현해야 한다.

implements 키워드를 사용하여 구현(상속)

다중 구현 가능

인터페이스로 객체를 만들 수 없다. 자식 클래스만 객체 생성 가능.

 

 

 

추상클래스 vs 인터페이스

https://myjamong.tistory.com/150

 

[JAVA] 추상클래스 VS 인터페이스 왜 사용할까? 차이점, 예제로 확인 :: 마이자몽

추상클래스 인터페이스 왜... 사용할까? 우리는 추상클래스와 인터페이스에 대해서 알고 있냐고 누가 물어본다면 알고 있다고 대답을 하고있습니다. 그런데 이론적인 내용 말고 정작 "왜 사용하

myjamong.tistory.com

 

728x90
반응형