JAVA 객지언 추상클래스

Walter Mitty·2022년 5월 18일
0

JAVA

목록 보기
11/21

추상클래스(abstract class)

추상메소드를 선언할 수 있는 클래스를 의미한다.
추상클래스는 그냥 클래스랑은 다르게 상속받는 자식 클래스없이 그 자체로 인스턴스를 생성할 수 없다.
예를들어, Animal type으로 new dog를 할 수 있지만 Animal type으로 new Animal도 할 수 있는데 Animal이 추상클래스라면 new Dog는 해도 new Animal은 할 수 없다.

그럼 추상 method는 뭘까?
설계만 되어있고 구현체가 없는 것을 말한다.
다시 말하면 method의 시그니처, 즉 이거는 return type이 뭐고 함수 이름이 뭐고 파라미터는 뭘 받을 거야 라는건 선언하지만 중괄호 안에 있는 블럭, 구현체는 없다는 것이고 그것은 자식 클래스에서 모두 구현해야 한다는 걸 의미한다.

인터페이스(interface)

가장 간단한 문법으로, 객체의 특정 행동의 특징을 정의하는 것이다. 따라서 함수의 특징이 접근제어자, return type, method, 이름만 정의를 하고 함수의 내용은 추상클래스에서 배운 것처럼 없다.
그리고 인터페이스를 구현하는 클래스는 인터페이스에 존재하는 상세 내용을 반드시 구현해야 한다.

0개의 댓글