추상 클래스, 인터페이스, 중첩 클래스

썬·2025년 4월 30일

Power Java

목록 보기
31/75

07 추상 클래스, 인터페이스, 중첩 클래스

7.1 추상 클래스

추상클래스
: 완전하게 구현되어 있지 않은 메소드를 가지고 있는 클래스
-객체 생성 불가(이유: 메소드 미완성)

public abstract class Animal {
	public abstract void move();
    ...
}
// 추상 메소드는 클래스 선언 시에 abstract를 붙인다.

-하나 이상의 추상 메소드를 가지고 있어야 한다.
-추상 메소드는 항상 세미콜론(;)으로 종료되어야 한다.
(본문이 없기 때문에 중괄호 대신 ;로 끝나는 선언형 문법을 사용해야 함
자바 컴파일러가 오류 없이 이해 가능)
-자식 클래스에서는 반드시 추상 메소드를 재정의하여야 한다.
(재정의하지 않으면 컴파일 에러 발생)

**추상 메소드의 몸체는 추상 클래스 내에서는 정의될 수 없다.
하지만 메소드의 이름과 매개 변수는 정의될 수 있다.

•추상클래스의 용도
-구현을 강요하는 면에서 장점이 크다.
일반 메소드는 자식 클래스에서 오버라이딩 하지 않아도 컴파일러가 체크할 방법이 없는데, 추상 메소드는 구현을 하지 않으면 오류가 발생한다.

0개의 댓글