[2022.07.18] Java 클래스, 추상클래스, 인터페이스

REASON·2022년 7월 18일
0

JAVA

목록 보기
2/5

일반 클래스

추상 클래스와 일반 클래스의 차이점이라 하면 추상 클래스는 1개 이상의 추상 메소드를 포함하면 추상 클래스가 된다.

추상화란?

예를 들어, TV용, 에어컨용, 선풍기용 등 다양한 용도의 리모콘이 있다고 가정해보자.
리모콘의 모양이 똑같다는 전재하에 각각의 기능은 모두 다를 것이다. 이때 똑같은 모양을 만드는 것(껍데기만 만듦)이 추상 클래스이고 각각의 기능은(껍데기에 대한 세부적인 기능) 상속받은 자식에서 구현하게 된다.

추상 클래스 (abstract class)

추상클래스는 반드시 오버라이딩해서 사용할 미완성의 메서드 1개 이상을 가진 미완성 클래스를 의미한다.

미완성되었기 때문에 이 클래스로는 무언가 생성할 수는 없다. (객체 생성 불가)

추상 클래스에도 완성된 멤버 변수, 메소드도 들어갈 수 있는데 이 추상 클래스를 상속받았을 때 공통으로 사용될 것을 만들면 된다.

다중 상속은 불가능하다.

추상 메소드가 포함된 클래스를 상속받은 자식이 반드시 추상 메소드를 구현하여야 한다.

interface

추상 클래스에서는 완성된 메서드, 멤버변수가 들어갈 수 있지만 interface에서는 반드시 모든 메서드, 멤버 필드가 추상적이어야 한다. 즉, 전부 미완성이어야 한다는 것이다.

다중 상속받을 수 있다.

추상 클래스는 클래스이므로 extends,
interface는 implements 이다.
왜냐하면 interface는 모두 다 구현해야 하기 때문이다.


참고 자료
07. 추상클래스 & Interface
추상 클래스

0개의 댓글