상속 (프로그래밍) 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
{{다른뜻|상속}}
+
'''상속'''(相續, inheritance)은 [[객체 지향 프로그래밍]]에서 크게 3요소로 꼽는 [[캡슐화]], 상속, [[다형성]] 세 가지 중 상속을 일컫는다. [[자바]]에서는 계승, 확장이라는 단어로 사용된다.<ref name="나무위키">나무위키, 〈[https://namu.wiki/w/%EC%83%81%EC%86%8D(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D)#s-2.3.1 상속(프로그래밍]〉, 《나무위키》</ref>
 
 
'''상속'''(相續, inheritance)은 [[객체 지향 프로그래밍]](OOP)에서 자손 클래스가 조상 클래스의 기능을 그대로 이어받아서 [[재사용]]하는 것을 말한다. [[자바]]에서는 계승, 확장이라는 단어로 사용된다.<ref name="나무위키">나무위키, 〈[https://namu.wiki/w/%EC%83%81%EC%86%8D(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D)#s-2.3.1 상속(프로그래밍]〉, 《나무위키》</ref>
 
  
 
== 개요 ==
 
== 개요 ==
[[객체 지향 프로그래밍]]의 3요소는 [[캡슐화]], 상속, [[다형성]]이다. 클래스로 객체가 정의되는 고전 상속에서, 클래스는 기반 클래스, 수퍼클래스, 또는 부모 클래스 등의 기존의 클래스로부터 속성과 동작을 상속받을 수 있다. 그 결과로 생기는 클래스를 파생 클래스, 서브클래스, 또는 자식 클래스라고 한다. 상속을 통한 클래스들의 관계는 계층을 형성한다.
+
[[객체 지향 프로그래밍]](OOP)에서 자손 클래스가 조상 클래스의 기능을 그대로 이어받아서 재사용하는 것을 상속이라 말한다. 클래스로 객체가 정의되는 고전 상속에서, 클래스는 기반 클래스, 수퍼클래스, 또는 부모 클래스 등의 기존의 클래스로부터 속성과 동작을 상속받을 수 있다. 그 결과로 생기는 클래스를 파생 클래스, 서브클래스, 또는 자식 클래스라고 한다. 상속을 통한 클래스들의 관계는 계층을 형성한다.
 
:{|class=wikitable width=700 style="background-color:#ffffee"
 
:{|class=wikitable width=700 style="background-color:#ffffee"
 
|+ 상속 명칭 구분
 
|+ 상속 명칭 구분
114번째 줄: 112번째 줄:
 
자바에서는 다중상속이 불가능하다. 하지만 인터페이스를 사용한다면 다중상속이 가능하다. [[인터페이스]]는 일종의 [[추상클래스]]이며 클래스처럼 메소드를 가질 수 있지만 기능을 구현할 수 없다. 그리고 멤버변수도 가질 수 없으며 상수만 가능하다.
 
자바에서는 다중상속이 불가능하다. 하지만 인터페이스를 사용한다면 다중상속이 가능하다. [[인터페이스]]는 일종의 [[추상클래스]]이며 클래스처럼 메소드를 가질 수 있지만 기능을 구현할 수 없다. 그리고 멤버변수도 가질 수 없으며 상수만 가능하다.
  
extends를 이용한 클래스 상속은 하나만 되고 두개 이상은 인터페이스만 가능하다. 인터페이스를 implements 하는 것은  상속이 아니라 구현한다고 할 수 있으며, 두 개 이상의 구현 가능한 인터페이스를 콤마(,)로 구분해서 추가하면 된다.
+
extends를 이용한 클래스 상속은 하나만 되고 두개 이상은 인터페이스만 가능하다. 인터페이스를 implements 하는 것은  사속이 아니라 구현한다고 할 수 있으며, 두 개 이상의 구현 가능한 인터페이스를 콤마(,)로 구분해서 추가하면 된다.
  
 
  class Animals implements IBird, IFlay {
 
  class Animals implements IBird, IFlay {
301번째 줄: 299번째 줄:
  
 
== 같이 보기 ==
 
== 같이 보기 ==
* [[상속]]
 
* [[프로그래밍]]
 
 
* [[객체 지향 프로그래밍]]
 
* [[객체 지향 프로그래밍]]
 
* [[클래스]]
 
* [[클래스]]
312번째 줄: 308번째 줄:
 
* [[생성자]]
 
* [[생성자]]
 
* [[인터페이스]]
 
* [[인터페이스]]
* [[재사용]]
+
* [[상속]]
  
 
{{프로그래밍|검토 필요}}
 
{{프로그래밍|검토 필요}}

위키원에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 위키원:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)