티스토리 뷰

상속(Inheritance)

이번 시간에는 상속(Inheritance)에 대해서 알아보려고 한다. 상속은 기존의 클래스를 재사용해 새로운 클래스를 만드는 것이 상속이며, 이러한 특징으로 적은 양의 코드로 새로운 클래스를 만들수 있으며 코드를 한번에 관리할 수 있다. 상속을 해주는 클래스는 상위 클래스(super class), 상속을 받는 클래스를 하위 클래스(sub class)라고 한다. 상위 클래스는 보통 부모 클래스(Parent class), 하위 클래스는 자식 클래스(Child class)라고 부른다.

상위 클래스(Super Class) - 부모 클래스(Parent Class), 기반 클래스(Base Class)

하위 클래스(Sub Class) - 자식 클래스(Child Class)

중요키워드

extends

사용 방법

사용 방법에서는 코드와 결과 내용을 확인 후 간단하게 설명하려고 한다.

  1. 기본 사용 방법

     class Parent {}
     class Child extends Parent {}
    
  2. 코드 및 실행 결과

     public class Hello {
         public static void main(String[] args) {
             Child c = new Child();
             c.parentOut();
             c.childOut();
         }
     }
    
     class Parent {
         int age = 70;
    
         public void parentOut() {
             System.out.println("Parent Class");
         }
     }
     class Child extends Parent {
         public void childOut() {
             System.out.println("age = " + age);
         }
     }
    
     코드 실행 결과
     Parent Class
     age = 70
    
  3. 설명

    • Child 클래스에는 age가 없지만 Parent클래스로부터 상속 받았기 때문에 70이라는 결과가 발생한다. (변수 및 메서드가 보이지는 않지만 변수가 존재하는것이다.)

    • Child 클래스에는 parentOut() 메서드가 없지만, Parent클래스로부터 상속 받았기 때문에 출력이 가능하다.
    • Child에 멤버변수 및 메서드를 추가할 경우 부모 클래스에서는 사용할 수 없다.

특징

  • 다중 상속이 불가능 하다.

    • Child는 Parent 클래스로부터 상속 받았기 때문에, 다른 클래스로부터는 상속을 받을 수 없다.
  • 자식(Child) 클래스는 부모(Parent)클래스에 존재하는 멤버변수 및 메소드를 모두 상속 받는다.

  • 위에 설명 3번째에서 정리한 것을 추론해보면 자식클래스는 부모 클래스보다 멤버변수가 많거나 같다는 것을 알 수 있다.

  • 부모 클래스의 변화는 자식 클래스에 영향을 바로 미친다.

  • 반대로 자식 클래스의 변화는 부모 클래스에게 영향을 주지 못한다.

위에 정리한 내용 외에 상속에 관한 내용은 훨씬 많다. 일단 기본적인 내용을 이해한다면 상속에 대해서 자세하게 공부할 때 더 빨리 정확하게 이해할 수 있다고 생각한다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함