[ java ] 추상클래스

2024. 12. 10. 16:15·JAVA

📌 추상 클래스

추상 클래스 는 'is-a' 관계를 나타내는 상속의 한 형태로 사용되며, 상태(필드)와 행동(메소드)을 모두 포함할 수 있다.
  • 구체적인 인스턴스는 생성할 수 없으며, 추상 메서드를 포함할 수 있다.
    • 추상 클래스는 상속을 통해서만 사용할 수 있다.
  • 추상적 예시?
    • 새 → 참새, 비둘기 등
    • 동물 → 강아지, 고양이 등
  • 추상 클래스 목적 → 상속받는 자식 클래스가 반드시 추상 메소드를 구현하도록 하기 위함
    • 예기치 않은 인스턴스화나, 오버라이드의 미구현의 걱정이 없다.

 

 

📌 추상클래스의 제약

1️⃣ 추상클래스는 new에 의한 인스턴스화가 금지 되어 있다

  • 아래와 같이 생성할 수 없다. → 인스턴스화 할 수 없다.
 public static void main(String[] args) {
        Person person = new Person(); // 추상 클래스는 인스턴스를 생성할 수 없다. 
    }

 

 

 

2️⃣ 오버라이드를 강제로 해주어야 한다.

  • 추상클래스를 상속받은 자식들은 추상 메서드를 꼭 정의(또는 오버라이드)해주어야 한다.
abstract class Person {
    abstract public void laugh();
    abstract public void calculateAge(int age);

}
public class Teacher extends Person {
    //추상클래스의 추상 메서드를 정의해주어야 한다. 
    @Override
    public void laugh(){
    }
    
    @Override
    public void calculateAge(int age){
    }
    

}

 

'JAVA' 카테고리의 다른 글

[ java ] 멀티 스레드 사용법  (1) 2024.12.26
[ java ] 생성자, 생성자 오버로딩  (0) 2024.12.10
[ java ]Constant Pool과 String Constant Pool  (0) 2024.12.10
[ java ] 객체 상속  (0) 2024.12.10
[ java ] 메서드의 매개변수로 Object? (Object - toString())  (0) 2024.12.10
'JAVA' 카테고리의 다른 글
  • [ java ] 멀티 스레드 사용법
  • [ java ] 생성자, 생성자 오버로딩
  • [ java ]Constant Pool과 String Constant Pool
  • [ java ] 객체 상속
Adose
Adose
  • Adose
    도즈의 개발 블로그
    Adose
  • 전체
    오늘
    어제
    • 분류 전체보기 (182)
      • JAVA (22)
      • 스프링 | 스프링 부트 (30)
        • 스프링 시큐리티 (1)
        • 채팅 (1)
      • 스프링 프로젝트 (5)
        • JDBC - 은행앱 구현 (1)
        • Spring Boot - 독서 블로그 프로젝트 (3)
        • 개인 프로젝트 - CoreBrief (1)
      • 가상화 기술 (1)
      • Git (1)
      • 코딩테스트 (104)
        • 프로그래머스 입문 (68)
      • AWS (1)
      • 데이터베이스 (0)
      • CS 공부 (4)
      • 알고리즘, 자료구조 (5)
      • 우테코 프리코스 (7)
      • 트러블 슈팅 (1)
      • 프론트 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코딩테스트
    멋쟁이사자처럼
    스프링부트
    프로그래머스
    프론트
    jdbc
    test
    LV1
    자바
    LV0
    LV2
    GIT
    springdatajdbc
    Spring
    Java
    스프링
    멋쟁이사자처럼백엔드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Adose
[ java ] 추상클래스
상단으로

티스토리툴바