상속

msung99·2022년 2월 14일
0


상속

  • 자식 클래스는 부모 클래스의 멤버변수와 메소드를 이용할 수 있다.

상속 구현

  • extend 키워드로 상속을 구현한다.
    • 자식 클래스 형식
      public class 자식 클래스 extends 부모 클래스 {
      자식 클래스 구현 내용
      }

ex) public class ChildClass extends ParentClass{
자식 클래스 구현 내용
}

  • 자식 클래스에서 상속받은 부모 클래스의 메소드를 사용할시,
    그냥 단순히 자신의 클래스 메소드 처럼 사용하면 된다.

ex) child . parentFun(); // 자식 클래스 객체 child 가 부모 클래스 메소드인 parentFun() 을 사용함

예제

  • 부모 클래스
// ParentClass 클래스 파일

public class ParentClass{
  public class ParentClass(){
    System.out.println("부모 생성자");
  }
  
  public void parentFun(){
    System.out.println("아빠 웃음 시작!!");
  }
}
  • 자식 클래스
// ChildClass 클래스 파일

// extends 로 상속받기
public class ChildClass extends ParentClass{
  public ChildClass(){
    System.out.println("자식 생성자);
    
  public void childFun(){
    System.out.println("자식 웃음 시작!!");  
  }
}
  • 자식 클래스에서 부모 클래스 메소드 사용하기
ChiildClass child = new ChildClass();  // 자식 클래스

child.parentFun();  // 상속받은 부모 클래스 메소드 사용
child.childFun(); // 자기 자신의 메소드 사용

private 메소드 상속

  • 부모 클래스의 private 메소드는 자식 클래스에게 상속이 안된다.
// ParentClass 클래스 파일

public class ParentClass{
  public class ParentClass(){
    System.out.println("부모 생성자");
  }
  
  public void parentFun(){
    System.out.println("아빠 웃음 시작!!");
  }
  
  // 부모 클래스의 private 메소드
  private void privateFun(){
    System.out.println("나는 상속이 불가능한 메소드!");
  }
}
// main 함수
ChiildClass child = new ChildClass();  // 자식 클래스

child.privateFun(); // 에러발생 => 상속이 되지 않은 부모 클래스의 메소드를 사용하려고 
# 하니 에러가 발생함
profile
블로그 이전했습니다 🙂 : https://haon.blog

0개의 댓글