ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • <Java> 상속(Inheritance)
    무기/자바 2021. 3. 20. 20:11
    728x90

    📌 import "코드잇";

    📌 import "Do it! 자바 프로그래밍 입문(박은종)";

     

    /**

     * 21/03/20 작성

     * 21/11/25 1차 수정

     */

     

    이게 뭐죠?

    * 상위클래스의 변수, 메서드를 하위클래스에서 상속하여 활용할 수 있다.

     

    왜 사용하나요?

    * 하위클래스 사이에 공통분모를 상위클래스로 정의하기 위해 사용한다.

    * "IS-A 관계(is a relationship; inheritance)"가 성립하는 클래스 간에 반복적인 코드를 줄일 수 있다.

     

    어떻게 사용하나요?

    하위클래스: 상속 받는 클래스

    * extends 키워드를 통해 상위클래스를 상속

    class MovieTheater extends Building { }

    * @Override 어노테이션으로 상위클래스의 메서드를 오버라이딩

    @Override
    public int usersCount(int contentsNum) { }

    상위클래스: 상속해주는 클래스

    * protected 예약어로 외부 클래스에서는 사용할 수 없고 하위 클래스에서만 사용할 수 있는 변수 또는 메서드 정의

    protected int usersCount(int contentsNum) { }

    업캐스팅(upcasting)

    * 하위클래스형의 인스턴스를 상위클래스형으로 형변환

    * 자바의 메서드는 가상메서드이기 때문에 상위클래스의 메서드를 오버라이딩한 메서드를 사용할 수 있음

     

    728x90

    '무기 > 자바' 카테고리의 다른 글

    <Java> 추상 클래스 (abstract class)  (0) 2021.03.23
    <Java> 인터페이스(Interface)  (0) 2021.03.23
    <Java> 제네릭 (Generic)  (0) 2021.03.22
    <Java> Object Class  (0) 2021.03.20
    <Java> super  (0) 2021.03.20
And bytes to code before I sleep.