[JAVA] 자바 정복기 - 추상 클래스

개발log·2024년 4월 2일

NEW 자바 정복기

목록 보기
15/27
post-thumbnail

추상 클래스

  • 실체 클래스(객체 생성용 클래스)들의 공통적인 특성(필드, 메소드)를 추출하여 선언한 것
  • 추상 클래스와 실체 클래스는 부모, 자식 클래스로서 상속 관계를 가짐

추상 클래스의 용도

  • 실체 클래스에 반드시 존재해야할 필드와 메소드의 선언(실체 클래스의 설계 규격, 객체 생성용이 아님)
  • 실체 클래스에는 공통된 내용은 빠르게 물려받고, 다른 점만 선언하면 되므로 시간 절약

추상 클래스 선언

  • abastract 키워드
    상속 등에 자식 클래스만 만들 수 있게 만듦(부모로서의 역할만 수행)
public abstract class 클래스 {
	//필드
    //생성자
    //메소드
}
  • 추상 클래스도 일반 클래스와 마찬가지로 필드, 생성자, 메소드 선언 할 수 있음
  • 직접 객체를 생성(new 연산자)할 수 없지만 자식 객체 생성될 때 객체화 됨
    자식 생성자에서 super(...) 형태로 추상 클래스의 생성자 호출

추상 메소드

  • 메소드 선언만 통일하고 실행 내용은 실체 클래스마다 달라야 하는 경우
  • abstract 키워드로 선언되고 중괄호가 없는 메소드
  • 하위 클래스는 반드시 재정의해서 실행 내용을 채워야 함
[public | protected] abstract 리턴타입 메소드이름(매개변수, ...);
public abstract class Animal{
	public abstract void sound();
}


정리

  • 추상 클래스: 클래스들의 공통적인 필드와 메소드 추출하여 선언한 클래스
  • 추상 메소드:
    추상 클래스에서만 선언할 수 있고, 메소드의 선언부만 있는 메소드
    자식 클래스에서 재정의되어 실행 내용을 결정해야 함
profile
나의 개발 저장소

0개의 댓글