- HOME
- Post in | and so on
- Post at | 2014. 12. 3. 19:55 | by 밀크빵.
- View comment
상속 vs 포함 (포함 예제)
///포함 관계라는 것은 클래스가 다른 클래스의 객체를 내부에 선언함으로써 포함된
///클래스의 기능을 공짜로 사용하는 것이다. 포함과 상속의 가장 큰 차이점은 다형성의
///발휘여부인데 상속은 클래스의 계층을 형성하여 다형성의 이점이 있지만 포함은
///코드를 한 번 재사용하는 정도의 기능 밖에 없다. 또한 상속은 protected 멤버를 자신의
///멤버처럼 자유롭게 액세스 하지만 포함은 그렇지 못하다.
using System;
class Human
{
private string Name;
private int Age;
public Human(string aName, int aAge)
{
Name = aName;
Age = aAge;
}
public void Intro()
{
Console.WriteLine("이름:" + Name);
Console.WriteLine("나이:" + Age);
}
}
class Student
{
public Human H; ///Human을 상속 받은것이 아니라 내부에 선언한것
///즉, student 클래스 내부에 Human타입 객체 H를 포함
///상속은 멤버를 바로 액세스 하지만, 포함한 경우는 객체의
///이름을 통해야만 한다.
protected int StNum;
public Student(string aName, int aAge, int aStNum)
{
StNum = aStNum;
H = new Human(aName, aAge); ///Human의 Name과 Age변수를 호출
}
public void Intro()
{
H.Intro(); ///Human의 메서드를 호출,
Console.WriteLine("학번:" + StNum);
}
public void Study()
{
Console.WriteLine("하늘 천 따지 검을 현 누를 황");
}
}
class CSTest
{
static void Main()
{
Student Kim;
Kim = new Student("한석현", 29,0203446);
Kim.Intro();
Kim.Study();
}
}
[출처] 상속 vs 포함(그래텍_2차실무면접)|작성자 sang_it
'and so on' 카테고리의 다른 글
[windbg] kb 명령어 (0) | 2015.03.05 |
---|---|
chapter01. 네트워크 프로그래밍과 소켓의 이해 (0) | 2014.12.09 |
상속 vs 포함 (0) | 2014.12.03 |
초성검색 (0) | 2014.12.03 |
인덱싱 (0) | 2014.12.03 |