무향향수

[Java]추상클래스 본문

SW아카데미 (23)/JAVA

[Java]추상클래스

튼튼한장 2023. 7. 7. 14:31
 

[Day4] 상속, 인터페이스와 다른 형식의 클래스, 예외처리

 

Chapter 7-5 추상클래스

목차 
  1. 추상 클래스?
  2. 추상 메서드 사용 방법

🍥 추상클래스?

  • 추상클래스 : 공통적인 기능을 부모 클래스로 정의해서 상속받되 일부 공통 기능은 자식 클래스에서 구현하도록 강제하는 것
  • 추상클래스 단독으로 인스턴스를 생성할 수 없다.
abstract class Orange{
	Orange o = new Orange(); // 추상 클래스는 인스턴스를 생성할 수 없어 오류 발생
}

 

  • ❓❓왜 추상클래스는 단독으로 인스턴스를 생성할 수 없을까?

 추상 클래스는 미완성 설계도와 같다. 구현이 완전히 되지 않아 단독으로 아무것도 할 수 없어서 인스턴스를 생성하여 작동시킬 수 없는 것이다.

 

  • 상속을 통해 자식 클래스에서 인스턴스를 생성
  • 기능의 구체적 내용 구현은 자식 클래스가 해야한다.
  • 객체들 간의 공통적 기능을 정의한 클래스이다.

 예시 )

부모 클래스(학생) '~을 배운다'

- 자식 클래스1 (학교 학생) '학교 과목을 배운다.'

- 자식 클래스2 (학원 학생) '학원 과목을 배운다.'

 


🍥 추상메서드?

  • 추상메서드 : 구체적 기능 구현은 자식클래스에게 일임한 메서드
abstract class 클래스명 {
	//필드
    //추상 메서드
    abstract 접근지정자 반환타입 메소드명(매개변수);
    // 선언부(괄호)까지만 작성하고 구현부{대괄호}는 작성하지 않는다.
}

 ⚠️추상 메서드를 사용할 때에도 클래스 선언과 같이 꼭 abstract 키워드를 작성해주어야 한다.⚠️

 

 

 

 

 

더보기

내용 요약⭐

  • 추상 메서드 사용시 클래스 선언처럼 abstract 키워드를 작성해주어야 한다.
  • 추상 클래스는 단독으로 인스턴스를 생성할 수 없다.
  • 추상 메서드 작성시 선언부()까지만 작성하고 구현부{}는 작성하면 안된다.

 

더보기

❓질문

  • 추상클래스는 단독으로 인스턴스를 생성할 수 없는 이유가 무엇일까?

'SW아카데미 (23) > JAVA' 카테고리의 다른 글

[Java]Wrapper 클래스  (0) 2023.07.11
[Java]클래스 형변환  (1) 2023.07.07
[Java]오버라이딩  (0) 2023.07.06
[Java]상속  (0) 2023.07.06
[Java]final 키워드  (0) 2023.07.05