IT수업/JAVA PART1

IT 수업 12주차 (29) 상속_추상클래스

워제하 2024. 3. 11. 13:07

 

● 추상메서드

- 정의되지 않고 선언만한 메서드

 

 

● 추상클래스

- 추상클래스는 여러 클래스들 간에 비슷한 필드와 변수, 메서드 등 공통적인 부분을 추출해 만들어진 클래스

- 추상메서드가 포함된 클래스는 반드시 추상클래스로 정의해야 한다.(자식 클래스에서 메서드 정의)

- 추상클래스는 객체를 생성할 수 없다. 이유는 아직 실체성이 없고 구체적이지 않기 때문이다.

- 공통적인 메서드를 추출해서 추상클래스 안에 두면 됨 그래서 상속을 받을 수 있다.

 

 

 

- 사용하는 이유?

프로그램을 구체적으로 어떻게 구현할지 결정이 되지 않았거나, 프로그램을 동일한 규격으로 만들 수 있도록 가이드를 제공하기 위해 사용하며 공통된 필드와 메서드를 통일한 목적도 있다.

또한 실체클래스 구현시 시간을 절약할 수 있다.

 

 

 

※ 추상클래스와 실체클래스는 상속관계이다.

또한 추상클래스 변수에 추상클래스를 상속받아 구현한 셀체클래스 인스턴스를 주입하면 해당 추상클래스 변수는 자동 타입변환을 발생시켜 실체클래스 인스턴스처럼 사용할 수 있다.(타입의 다형성)

 

 

 

● abstract

- 추상클래스는 클래스 앞에 abstract 키워드를 붙여 사용하면 된다.

public abstract class 클래스명{

     필드

     생성자

     메서드

     추상메서드

}

 

 

- 추상메서드는 메서드 리턴 타입 앞에 abstract 키워드를 붙이면 된다.

public / protected  abstract 리턴타입 메소드명(매개변수1, 매개변수2, ....);

 

 

 

 

 

- 일반클래스 상속관계

 

< 실행화면 >

 

 

 

 

 

- 추상클래스 상속관계

 

< 실행화면 >

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

참고 : https://limkydev.tistory.com/188

명품자바 상속 : https://cs-ssupport.tistory.com/84