ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 상속
    공부/java 2023. 3. 13. 16:10

    학습 목표

    • 상위 클래스-하위 클래스의 상속 관계의 핵심을 이해하고, 그 장점을 설명할 수 있다.
    • extends 키워드를 사용하여 두 개 이상의 클래스 간 상속 관계를 정의할 수 있다.
    • 포함관계와 상속관계의 차이를 설명할 수 있다.
    • 상속 관계에서 사용할 수 있는 메서드 오버라이딩의 정의, 성립 조건, 장점을 이해하고 이를 활용할 수 있다.
    • super 와 super() 의 차이를 설명할 수 있다.
    • Object 클래스가 자바 클래스의 상속계층도에서 최상단에 위치한다는 사실을 이해할 수 있다.

     

    상속

    - 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소

    - 하위 클래스는 상위 클래스가 가진 모든 멤버를 상속 받음

    - 하위 클래스의 멤버 개수는 상위 클래스와 비교했을때 많거나 같다

    - 코드를 재하용하여 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있어 코드의 중복을 제거

    - 다형적 표현이 가능

    class b extends a

    -b가 a를 상속 받은거

     

     

    포함 관계

    - 클래스의 멤버로 다른 클래스 타입의 참조변수를 선언하는 것

     

    메서드 오버라이딩

    - 상위 클래스로부터 상속받은 메서드와 동일한 이름의 메서들르 재정의하는 것

    메서드 오버라이딩 조건

    - 메서드 선언부(메서드 이름, 매개변수, 반환타입)이 상위클래스의 그것과 완전히 일치해야한다

    - 접근 제어자의 범위가 상위 클래스의 메서드보다 같거나 넓어야 한다

    - 예외는 상위 클래스의 메서드보다 많이 선언할 수 없다

     

     

    super 키워드와 super()

    - super키워드는 상위 클래스의 객체, super() 상위클래스의 생성자를 호출

    - 공통적으로 모두 상위 클래스의 존재를 상정하며 상속 관계를 전제로 한다

    - super키워드는 두 개의 같은 이름의 변수를 구분하기 위한 방법

    - super키워드를 사용하면 부모의 객체의 멤버 값을 참고할 수 있다

     

    this와 super의 차이점

    - 상위 클래스의 멤버와 자신의 멤버를 구별하는 데 사용된다는 점

     

    super()

    - 생성자 안에서만 사용가능, 첫 줄에 와야함

    - 모든 생성자의 첫 줄에는 this(), super()가 선언되어야 한다

     

     

    클래스의 정점 Object클래스

    - 최상위 클래스

    - 자동적으로 extends Objet를 추가하여 object 클래스를 상속 받도록 해야함

     

     

     

     

     

     

     

    '공부 > java' 카테고리의 다른 글

    else 사용을 지양해야하는 이유  (0) 2024.02.01
    캡슐화  (0) 2023.03.13
    내부 클래스  (0) 2023.03.13
    생성자  (0) 2023.03.13
    필드와 메서드  (2) 2023.03.13
Designed by Tistory.