본문 바로가기

개발/Java

[Java] 자바 - 추상 메소드 / 추상 클래스 ( 예약어 abstract )

 

< 추상 메소드 >

 

- method body({})가 존재하지 않는 미완성 메소드

- abstract예약어를 사용해서 정의함

- 미완성 메소드가 있는 클래스는 미완성클래스(추상클래스)가 됨 = 추상클래스에서만 정의 가능

[ 표현법 ]

접근제한자 abstract 반환형 메소드이름();

 

 

< 추상 클래스 >

 

- 추상 메소드가 존재하는 클래스는 추상클래스로 정의됨

- abstract예약어를 사용해서 정의함

- 객체 생성 불가능. 참조형 변수로는 사용 가능 => 다형성 이용 가능

- 추상 클래스 : 일반 필드 + 일반 메소드 + 추상메소드(생략 가능)

 

[ 표현법 ]

접근제한자 abstract class 클래스명 {

      일반필드

      일반메소드

      추상메소드(생략가능)

}

 

[ 사용법 ]

- 객체 생성이 불가능해야 하는 클래스를 추상클래스로 생성

  부모클래스의 용도로만 사용

- 해당 클래스가 덜 구현된 상태일때 한 눈에 파악 가능

 

[ 추상클래스 상속 ]

1번 방법 : 상속받은 추상클래스의 모든 추상메소드 구현

2번 방법 : 해당 클래스를 추상클래스로 변경