방프리

20.02.10 C# 프로그래밍 입문 Chapter11 연습문제 본문

C#/C# 프로그래밍 입문

20.02.10 C# 프로그래밍 입문 Chapter11 연습문제

방프리 2020. 2. 10. 18:58

[연습문제]

1. 속성을 사용하는 이유는 무엇인가?

  • 클래스의 내부에 존재하는 정보를 접근해서 값을 가져오거나 혹은 새로 값을 부여할 때 사용한다.

 

2. 속성과 인덱서의 같은 점과 다른 점을 각각 설명하시오.

  • 실제로 동작할 때는 메소드로 동작하고, get, set 접근자에 의해 표현된다. 하지만 인덱서의 경우 반드시 this를 사용한다.

 

3. 다음 예제의 결과를 논하시오.

 

  • set 접근자 호출\nProperty Value Input

4. 다음은 인덱서를 사용해서 Color 배열에 원하는 색을 입력하기 위한 인덱서 예제의 일부다. 밑줄이 있을 곳에 위치할 소스는 몇 번 소스인가?

 

5. 네임스페이스를 사용할 때의 장점을 말하시오.

  • 여러 사람들이 동시에 분할해서 작업할 때 각자 개발한 클래스명이 중복될 경우를 해결할 수 있다.

 

6. 네임스페이스를 사용해서 다른 클래스에 있는 메소드를 사용하는 방법은 무엇인가?

 

7. 어셈블리의 구성 요소는 무엇인가?

  • 메니페스트, 형식 메타데이터, MSIL, 리소스

 

[심화연습문제]

1. 다음 조건을 만족하는 .dll(클래스 라이브러리)을 만들고, 그 라이브러리를 사용하는 예제를 개발하시오.

  • .dll 파일은 원의 넓이를 구하는 프로그램이다.
  • 사용자에게 원의 반지름을 입력받는다.
  • 사용자에게 원의 넓이를 돌려준다.

 

2. 다음은 인덱서를 이용해서, 자신의 취미를 저장하는 예제다.

  • ① 밑줄에 들어갈 get, set 접근자의 내용을 각각 입력하시오.
  • ② IndexerTest 클래스의 인스턴스를 선언하고, myHobbies 인덱스를 사용하는 클래스를 작성하시오.

 

3. 이벤트가 발생해서 위임에 전달되어, 해당 이벤트에 알맞은 메소드를 호출하기까지의 일련의 과정을 설명하시오.

  • += 기호를 통해 위임에 전달한 후, 변수를 생성하여 메소드를 호출한다.

4. ILDASM 도구를 사용해서 .dll 파일을 살펴보고, ILDASM 도구에 보이는 파일 확장자가 어떤 역할을 하는지를 설명하시오. 

  • 해당 .dll 파일에 정의된 클래스나 메소드 등을 확인할 수 있고, 메니페스트에 대한 정보를 알 수 있다.
Comments