달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  


 

상속(Inheritance)

·       객체의 특성을 그대로 물려받는 또 다른 객체를 만드는 것을 얘기합니다.

·       특정 클래스(super class)가 가지는 일부 속성과 기능을 다른 새로운 클래스(sub class)에게 제공하기 위해 맺는 클래스들간의 관계입니다.

·       멤버변수, 멤버메소드는 상속되지만 생성자는 상속이 안됩니다.

·       상속을 통해 클래스들을 계층적으로 구성할 수 있는 방법을 제공해 줍니다.

·       상속받은 자식 클래스는 상속을 해준 부모 클래스의 모든 기능을 그대로 사용하거나 자식 클래스는 필요한 기능만을 정의하거나 기존의 기능을 변경할 수 있습니다.

 


 


상속의 목적

상속을 통해 연관된 일련의 클래스에 대한 '공통적인 규약을 정의하고 적용하는 것'이 상속의 실질적인 목적입니다.

 

 

 

클래스의 상속(Inheritance)

·       사전적 의미와 비슷하게 적용되며 한쪽이 다른 한쪽으로 자신의 속성과 메서드 등을 물려주어 사용할 수 있도록 하는 것입니다.

·       부모 클래스의 모든 속성(데이터, 메소드)를 자식 클래스로 물려줍니다.

·       클래스의 공통된 속성을 부모 클래스에 정의하고 하위 클래스에서는 특화된 메소드와 데이터를 정의합니다.

·       실 세계에서는 다중 상속이 가능하지만 JAVA는 클래스들간의 다중 상속을 지원하지 않으며 이를 통해 객체의 명확성을 높였습니다. (자바는 단일 상속만 지원)

·       C#는 파생클래스가 단 하나의 베이스 클래스로부터 상속되어져야 합니다. , 하나의 파생클래스는 2개 이상의 베이스 클래스를 가질 수 없습니다. (단일 상속)

 

 

 

상속관계 용어 정리 (동일 용어)

구분

동일용어

·       상속을하기 위해 준비된 특정 클래스

·       물려 주는 클래스

·       상속을 해주는 쪽

·       Base Class(기본 클래스, 기초클래스, 기반클래스)

·       Super Class(상위클래스, 슈퍼 클래스)

·       Parent Class(부모 클래스)

·       특정 클래스로부터 상속을 받아 새롭게 정의되는 클래스

·       물려 받는 클래스

·       상속을 받는 쪽

·       Derivation Class(유도 클래스, 파생클래스)

·       Sub Class(하위 클래스)

·       Child Class(자식 클래스)

 

 

 

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요