[Java] 기초정리 14. 상속(inheritance) - 클래스 상속

2024. 8. 30. 22:39·Backend/Java

상속이란? 기존에 있던 클래스를 부모클래스(상위 클래스)로 정의하여 새로운 클래스(하위 클래스)에서 활용하는 것

 

⭐  상속을 사용하는 이유

- 기존에 선언된 클래스의 필드를 다른 클래스에서도 사용하고자 할 때

- 클래스들을 만들다 보니 공통 요소가 보여서 묶은 후 상속시켜 주어서 클래스들을 편하게 만들고자 할 때


상속 방법

class A{
	A의 필드(변수, 메소드)
}

class B extends A{
	B의 필드
}

B obj = new B();

⭐ obj 객체는 실제로 A의 필드와 B의 필드 둘 다 가지고 있다.

      A : 부모 클래스 (상위 클래스, 슈퍼 클래스, 기반 클래스)

      B : 자식 클래스 (하위 클래스, 서브 클래스, 파생 클래스)


자식 클래스 생성자 호출 시 일어나는 일

자식 클래스의 객체는 자식 생성자를 호출해서 객체화를 진행한다.

 

자식 생성자를 호출했으므로 자식 클래스 내의 필드들이 똑같이 복사되어 하나 생성된다.

만약 자식 클래스의 필드만 메모리에 올라갔다면 그 객체로 절대 부모 클래스 내부에 있는 필드들은 사용할 수 없다.

 

따라서 자식 생성자를 호출하게 되면 상속 받기로 한 부모의 필드가 먼저 메모리에 할당되고 그 이후에 자식 필드도 따라 붙는다.

결과적으로 그 객체는 부모 필드가 메모리에 같이 올라와 있기 때문에 부모 클래스의 필드에도 접근할 수 있게된다.

'Backend > Java' 카테고리의 다른 글

[Java] 기초정리 16. 접근 제어자 - public, private, protected  (0) 2024.09.01
[Java] 기초정리 15. 업캐스팅, 다운캐스팅, instanceof  (0) 2024.08.31
[Java] 기초정리 13. 클래스 배열(객체 배열) - 클래스 배열 선언, 사용  (0) 2024.08.20
[Java] 기초정리 12. 다형성(Polymorphism) - 오버로딩, 오버라이딩  (0) 2024.08.10
[Java] 기초정리 13. 생성자 - 생성자 선언, this  (0) 2024.08.09
'Backend/Java' 카테고리의 다른 글
  • [Java] 기초정리 16. 접근 제어자 - public, private, protected
  • [Java] 기초정리 15. 업캐스팅, 다운캐스팅, instanceof
  • [Java] 기초정리 13. 클래스 배열(객체 배열) - 클래스 배열 선언, 사용
  • [Java] 기초정리 12. 다형성(Polymorphism) - 오버로딩, 오버라이딩
찌이e
찌이e
  • 찌이e
    찌이의 개발일기
    찌이e
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Frontend
        • React
      • Backend
        • Java
        • Java - Coding Test
        • Spring
        • PHP
      • Framework
        • 그누보드
        • 워드프레스
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java연산자
    리액트설치
    클래스배열
    java배열
    출력메소드
    클래스상속
    java문자열메소드
    next메소드
    프로그래머스
    연산자순위
    java조건문
    math.abs
    입력메소드
    java출력
    Java입력
    JAVA생성자
    print메소드
    java
    강제형변환
    연산자 순서
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
찌이e
[Java] 기초정리 14. 상속(inheritance) - 클래스 상속
상단으로

티스토리툴바