이것이 C# 이다. 7장 연습문제

2020. 1. 16. 22:50C# 언어/이것이 C# 이다. 연습문제

반응형

1. 클래스와 객체, 인스턴스는 서로 어떤 점이 다른가요?

클래스 : 객체들을 추상화한 틀 

객체 : 데이터와 메소드

인스턴스 : 실제로 데이터를 담을 수 있는 객체

 

2. 다음 코드에서 오류를 찾고, 오류의 원인을 설명하세요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using static System.Console;
using System.Text;
using System.IO;
 
namespace baekjoon
{
    class MainApp
    {
        class A { }
        class B : A { }
        class C
        {
            static void Main()
            {
                A a = new A();
                B b = new B();
                A c = new B();
                B d = new A(); // 이부분에서 오류
            }
        }
    }
}

B (자식 클래스) A (부모 클래스) 이다.

참조변수 타입이 B인 d는 부모 클래스 A를 참조할 수 없다.

3. this 키워드와 base 키워드에 대해 설명하세요.

this : 자기 자식을 지칭함.

base : 기반 클래스 지칭

 

4. 구조체에 대한 다음 설명 중 틀린 것을 모두 찾으세요.

  1. struct 키워드를 이용하여 선언한다.
  2. 복사할 때 얕은 복사가 이루어진다. // 깊은 복사가 이루어짐
  3. 참조 형식이다. // 값 형식
  4. 메소드를 가질 수있다.

5. 다형성은 무엇이며, 오버라이딩과 무슨 관계가 있는지 설명하세요.

oop의 3대 특징 ( 다향성, 은닉성, 상속성) 중

각기 다른 객체가 동일한 메세지를 통해 각기 다른 기능을 수행

오버라이딩, 오버로딩 가능

 

오버라이딩 : 상속관계에 있는 부모 클레스에서 이미 정의된 메소드를 자식 클레스에서 같은 시그니처를 갖는 메소드를 재정의

반응형