● 추상메서드
- 정의되지 않고 선언만한 메서드
● 추상클래스
- 추상클래스는 여러 클래스들 간에 비슷한 필드와 변수, 메서드 등 공통적인 부분을 추출해 만들어진 클래스
- 추상메서드가 포함된 클래스는 반드시 추상클래스로 정의해야 한다.(자식 클래스에서 메서드 정의)
- 추상클래스는 객체를 생성할 수 없다. 이유는 아직 실체성이 없고 구체적이지 않기 때문이다.
- 공통적인 메서드를 추출해서 추상클래스 안에 두면 됨 그래서 상속을 받을 수 있다.
- 사용하는 이유?
프로그램을 구체적으로 어떻게 구현할지 결정이 되지 않았거나, 프로그램을 동일한 규격으로 만들 수 있도록 가이드를 제공하기 위해 사용하며 공통된 필드와 메서드를 통일한 목적도 있다.
또한 실체클래스 구현시 시간을 절약할 수 있다.
※ 추상클래스와 실체클래스는 상속관계이다.
또한 추상클래스 변수에 추상클래스를 상속받아 구현한 셀체클래스 인스턴스를 주입하면 해당 추상클래스 변수는 자동 타입변환을 발생시켜 실체클래스 인스턴스처럼 사용할 수 있다.(타입의 다형성)
● abstract
- 추상클래스는 클래스 앞에 abstract 키워드를 붙여 사용하면 된다.
public abstract class 클래스명{
필드
생성자
메서드
추상메서드
}
- 추상메서드는 메서드 리턴 타입 앞에 abstract 키워드를 붙이면 된다.
public / protected abstract 리턴타입 메소드명(매개변수1, 매개변수2, ....);
- 일반클래스 상속관계
< 실행화면 >
- 추상클래스 상속관계
< 실행화면 >
참고 : https://limkydev.tistory.com/188
명품자바 상속 : https://cs-ssupport.tistory.com/84
'IT수업 > JAVA PART1' 카테고리의 다른 글
IT수업 12주차 (30) 상속_interface, 다중 상속 (0) | 2024.03.12 |
---|---|
IT 수업 12주차 (28) 상속_업, 다운캐스팅 (0) | 2024.03.11 |
IT 수업 11주차 (26) 상속 (0) | 2024.03.08 |
IT 수업 11주차 (24) 배열 (0) | 2024.03.07 |
IT 수업 11주차 (23) String (0) | 2024.03.07 |