본문 바로가기

프로그래밍/Java

[Java] - 상속 특징

728x90
반응형

실전 자바 강좌 (ver.2018) - 초보부터 개발자 취업까지!! 강의를

개인공부하며 정리하는 용도의 포스팅입니다.

 

학습목표


  • 상속관계에 있는 클래스의 특징들에 대해서 학습

 

 

메서드 오버라이드(override)


부모 클래스의 기능을 자식 클래스에서 재정의해서 사용한다.

package lec19Pjt001;

public class ParentClass {
    
    public void makeJJajang() {
        System.out.println(" -- makeJJajang() START --");
    }
}
package lec19Pjt001;

public class ChildClass extends ParentClass {
    
    @Override
    public void makeJJajang() {
        System.out.println(" -- more delicious makeJJajang() START--");
    }
}
ChildClass child = new ChildClass();
child.makeJJajang();

 

 

결과

ParentClass constructor
ChildClass constructor
-- more delicious makeJJajang() START --

 

자료형(타입)


기본 자료형처럼 클래스도 자료형이다.

  • 부모 클래스
package lec19Pjt001;

public class ParentClass {
    
    public void makeJJajang() {
        System.out.println(" -- makeJJajang() START --");
    }
}

 

  • 첫번째 자식 클래스
package lec19Pjt001;

public class FirstChildClass extends ParentClass {
    
    @Override
    public void makeJJajang() {
        System.out.println("-- FirstChildClass's makeJJajang() START --");
    }
}

 

  • 두번째 자식 클래스
package lec19Pjt001;

public class SecondChildClass extends ParentClass {
    
    @Override
    public void makeJJajang() {
        System.out.println("-- SecondChildClass's makeJJajang() START --");
    }
}

 

  • 코드 실행
ParentClass childs[] = new ParentClass[2];
childs[0] = new FirstChildClass();
childs[1] = new SecondChildClass();

for (int i = 0; i < chlids.length; i++) {
    childs[i].makeJJajang();
}

 

 

결과

ParentClass constructor
FirstChildClass constructor
ParentClass constructor
SecondChildClass constructor
-- FirstChildClass's makeJJajang() START --
-- SecondChildClass's makeJJajang() START --

 

 

 

 

Object 클래스


모든 클래스의 최상위 클래스는 Object 클래스이다.

 

Super 클래스


상위 클래스를 호출할 때 super 키워드를 이용한다

 

ParentClass

int openYear = 1995;

public void makeJJajang() {
    System.out.println(" -- makeJJajang() START --");
}

 

 

ChildClass

int openYear = 2000;

public void getOpenYear() {
    System.out.println("ChildClass's Open year : " + this.openYear);
    System.out.println("ParentClass's Open year : " + super.openYear);
}
  • ChildClass가 ParentClass를 상속함.

 

코드 실행

ChildClass c = new ChildClass();
c.getOpenYear();

 

 

결과

ParentClass constructor
ChildClass constructor
ChildClass's Open year : 2000
ParentClass's Open year : 1995

 

 

Reference


실전 자바 강좌 (ver.2018) - 상속 특징

 

728x90
반응형

'프로그래밍 > Java' 카테고리의 다른 글

[Java] - 인터페이스  (0) 2020.12.21
[Java] - 내부클래스와 익명클래스  (0) 2020.12.21
[Java] - 상속  (0) 2020.12.18
[Java] - 데이터 은닉  (0) 2020.12.18
[Java] - 패키지와 static  (0) 2020.12.18