새소식

인기 검색어

개인공부/Java

클래스의 상속과 다형성

  • -
 
상속의 장점

상속의 장점은 처음에 설명했던 것과 큰 차이가 없다. 중복된 코드를 줄일 수 있고, 유지 보수가 편리하며, 통일성이 있고 다형성을 구현할 수 있다

1. 상속 방법 : class 클래스(자식) extends 클래스(부모)
2. 자식 클래스는 부모 클래스로부터 메소드 필드를 물려받아 사용한다. 부모 클래스는 자식 클래스에서 정의한 메소드나 필드를 사용하지 못한다.(자식 = 자신 + 부모 / 부모 = 자신)
3. 자식 클래스는 여러 부모 클래스로부터 상속받지 못한다. 즉, 단일상속만 가능하다.
4. 부모 클래스는 여러 자식 클래스에게 상속이 가능하다.
5. 자식 클래스가 더 다양한 기능이 가능하므로 자식 클래스로 인스턴스를 생성하는 것이 효율적이다.

 

자바의 클래스는 다중 상속이 불가능한 이유는 모호성이 발생하기 때문이다

 

상속할 떄의 메모리 구조

 

자식 클래스 객체에서 부모 클래스의 멤버를 사용할 수 있는 이유

=> JVM은 자식 클래스의 객체를 생성할 떄 가장 먼저 부모 클래스의 객체를 생성한 후 자식 클래스에서 추가한 필드와 메서드가 객체에 추가됨으로써 전체 객체가 완성된다. 즉, 자식 클래스 객체 내부에는 부모 클래스 객체가 포함돼 있으므로 자식 클래스 객체에서는 부모 클래스의 멤버를 사용할 수 있는것이다.

 

생성자의 상속 여부

상속을 수행하면 부모의 모든 멤버를 내려받는다고 했다. 멤버는 클래스의 4가지 내부 구성 요소 중 생성자를 제외한 필드, 메서드, 이너 클래스를 말한다. 생성자는 자식 클래스로 상속 되지 않는다. 그 이유는 클래스 내부에서는 필드, 메서드, 생성자, 이너 클래스 이외에 단 1줄도 올 수 없다. 부모 생성자를 볼 떄 생성자는 소괄호와 중괄호가 존재하기에 필드와 이너클래스에는 해당하지않고 생성자라고는 하기에는 자식클래스명과 다르기에 해당하지않는다 마지막으로 생성자는 리턴타입이 없기에 메서드도 될 수 없다. 따라서 상속과 동시에 오류가 발생하기에 상속될 수 없다.,

'개인공부 > Java' 카테고리의 다른 글

해시  (0) 2022.07.20
메서드 오버라이딩  (0) 2022.07.19
트리  (0) 2022.07.19
접근지정자  (0) 2022.07.18
클래스 외부 구성 요소(패키지와 임포트)  (0) 2022.07.18
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.