※ 이 글은 자바의정석을 참조하였다.

1. 상속
  • 기존의 클래스를 재사용해서 새로운 클래스를 작성
  • 두 클래스를 조상과 자손으로 관계를 맺어 주는것
  • 자손은 조상의 모든 멤버를 상속 받는다.
2. 클래스간의 관계 - 상속관계
  • 공통부분은 조상에서 관리, 개별부분은 자손에서 관리
  • 조상의 변경은 자손에 영향을 미치지만, 자손의 변경은 조상에 아무런 영향을 미치지 않는다.
3. 클래스간의 관계 - 포함관계
  • 한 클래스의 멤버 변수로 다른 클래스를 선언하는 것
  • 작은 단위의 클래스를 먼저 만들고, 이 들을 조합해서 하나의 커다란 클래스를 만든다.
4. 단일 상속
  • java는 단일 상속만을 허용한다 (C++은 다중상속 허용)
  • 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 한다.
5. Object클래스 - 모든 클래스의 최고조상
  • 조상이 없는 클래스는 자동적으로 Object클래스를 상속받게 된다.
  • 상속계층도의 최상위에는 Object클래스가 위치한다.
  • 모든 클래스는 Object클래스에 정의된 11개의 메서드를 상속받는다.
    • toString(), equals(Object obj), hasCode(), ……
6. 오버라이딩란?
  • 조상클래스로부터 상속받은 메서드의 내용을 상속받는 클래스에 맞네 변경하는것을 오버라이딩이라고 한다.
7. 오버라이딩의 조건
  • 선언부가 같아야 한다.(이름, 매개변수, 리턴타입)
  • 접근제어자를 좁은 범위로 변경할 수 없다.
  • 조상클래스의 메서드보다 많은 수의 예외를 선언할 수 없다.
  • ※ 오버로딩과 오버라이딩의 차이
    • 오버로딩 : 기존에 없는 새로운 메서드를 정의하는것
    • 오버라이딩 : 상속받은 메서드의 내용을 변경하는 것
8. super - 참조변수
  • this : 인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어있음
  • super : this와 같음, 조상의 멤버와 자신의 멤버를 구별하는데 사용
9. super() - 조상의 생성자
  • 자손클래스의 인스턴스를 생성하면, 자손의 멤버와 조상의 멤버가 합쳐진 하나의 인스턴스가 생성된다.
  • 조상의 멤버들도 초기화되어야 하기 때문에 자손의 생성자의 첫 문장에서 조상의 생성자를 호출해야 한다.
chanhee.kim's profile image

chanhee.kim

2017-12-26 17:13

Read more posts by this author