티스토리 뷰
// 뇌를 자극하는 C# 5.0 프로그래밍 연습문제 답 - 6장
1. 클래스와 객체, 인스턴스는 서로 어떤 점이 다른가요?
-클래스는 객체를 만들기 위한 청사진
-인스턴스는 실체
(예)
int a = 30;
int b = 40;
-int 는 클래스
-a와 b 는 실제로 데이터를 담을 수 있는 실제 객체
-a와 b를 일컬어서 int의 실체(인스턴스)라고 함
-객체를 인스턴스라고 부르기도 함
2. 다음 코드에서 오류를 찾고, 오류의 원인을 설명하세요.
class A
{
}
class B : A
{
}
class C
{
public static void Main()
{
A a = new A();
B b = new B();
A c = new B();
B d = new A(); // 파생(자식)클래스로 기반(부모)클래스를 참조할 수 없음
}
}
3. this 키워드와 base 키워드에 대해 설명하세요.
- this 키워드는 자기 자신의 클래스 또는 자기 자신의 생성자를 가리킴
- base 키워드는 부모 클래스의 생성자를 가리킴
4. 구조체에 대한 다음 설명 중 틀린 것을 모두 찾으세요.
1. struct 키워드를 이용하여 선언한다.
2. 복사할 때 얕은 복사가 이루어진다.
3. 참조 형식이다.
4. 메소드를 가질 수 있다.
=>2(깊은 복사), 3(값 형식)
5. 다형성은 무엇이며, 오버라이딩과 무슨 관계가 있는지 설명하세요.
객체 지향 프로그래밍에서 다형성(Polymorphism)은 객체가 여러 형태를 가질 수 있음을 의미
오버라이딩(재정의)를 통해 하위 객체(파생 클래스)에서 기능을 구현할 수 있음