방프리
20.02.05 C# 프로그래밍 입문 Chapter 5 연습문제 본문
[연습문제]
1. 메소드와 클래스의 차이점을 설명하시오.
- 클래스는 '속성'과 '동작'에 대한 정의를 모두 포함한다. 이에 반해 메소드는 클래스에서 동작에 해당하는 기능만을 의미한다.
2. 다음 중 변수의 설명으로는 틀린 것을 고르시오.
- ③ : 지역변수는 초기화 하지 않으면 사용할 수 없다.
3. 다음과 같은 코드가 있다. 이 중에서 호출할 대 구분될 수 없는 "메소드 선언식" 한 쌍을 고르시오.
- ②, ⑤ : 오버로딩은 매개인수의 차이에 의해 실행된다.
4. 메소드의 인자를 전달하는 방식 6개의 특징과 차이를 설명하시오.
- 값에 의한 전달(인자가 값형 변수일 때) : 인자로 사용하는 변수를 메소드에 그대로 전달하는 방식, 이때 사용하는 변수는 자신의 변수 형식에 맞는 변수 값을 포함한다.
- 값에 의한 전달(인자가 참조형 변수일 때) : 변수의 저장된 메모리를 참조하는 변수를 말한다.
- 참조에 의한 전달(인자가 값형 변수일 때) : 인자로 사용된 변수 값이 아닌 참조를 전달하는 방식
- 참조에 의한 전달(인자가 참조형 변수일 때) : 인자로 사용할 변수가 참조형 변수고, 전달 방식 또한 참조에 의한 전달 방식을 표한한다. 전달하는 인자의 변수명 앞에 ref 키워드를 사용해서 참조에 의한 전달 방식임을 알려준다.
- 출력인자 방식 : 메소드를 호출할 때 사용하는 인자 값을 호출받는 메소드의 실제 인자에게 넘겨주는 방식을 말한다. 출력인자 방식은 out 키워드를 사용해서 정의하며, 참조 방식에 의한 전달과 같은 동작을 하지만 호출받은 메소드로부터는 어떤 값도 받지 않는다.
- 가변길이 인자방식 : params 키워드를 사용해서 정의한다. params 키워드를 사용해서 전달된 가변 길이 인자는 값에 의한 전달 방식으로 인식되어, 메소드의 인자값이 메소드 호출 쪽의 인자 값으로 전달된다.
[심화연습문제]
1. 다음 조건에 맞는 프로그램을 "값에 의한 전달 방식"과 "참조에 의한 전달 방식"을 의해서 각각 작성하시오
(변수 방식은 상관없음)
- 사용자에게 정수형 A, B 두 개의 변수를 입력받는다.
- SwapMethod() 메소드를 통해 A 값, B 값을 서로 바꾼다.
- 사용자에게 서로 바뀐 A 값, B 값을 출력해서 보여준다.
2. 다음은 출력인자 방식을 사용해서 구현하시오.
- 사용자에게 1~9까지의 정수 하나를 입력받는다.
- 출력 인자 방식으로 구구단을 구하는 메소드를 몇 단으로 구할 것인지를 결정하는 첫 번째 조건에서 입력 받은 인자로 호출한다.
- 구구단을 구하는 메소드는 1~9까지의 정수와 인자로 입력받은 정수와의 곱셈의 결과 9개를 리턴한다.
- 세 번째 조건에서 돌려받은 값을 알맞은 형식을 사용해서 출력한다.
'C# > C# 프로그래밍 입문' 카테고리의 다른 글
20.02.05 C# 프로그래밍 입문 Chapter7 연습문제 (0) | 2020.02.05 |
---|---|
20.02.05 C# 프로그래밍 입문 Chapter 6 연습문제 (0) | 2020.02.05 |
20.02.05 C# 프로그래밍 입문 Chapter 4 연습문제 (0) | 2020.02.05 |
20.02.05 C# 프로그래밍 입문 Chapter 3 연습문제 (0) | 2020.02.05 |
20.02.05 C# 프로그래밍 입문 Chapter 2 연습문제 (0) | 2020.02.05 |
Comments