목록C#/C# 프로그래밍 입문 (11)
방프리

[연습문제] 1. 속성을 사용하는 이유는 무엇인가? 클래스의 내부에 존재하는 정보를 접근해서 값을 가져오거나 혹은 새로 값을 부여할 때 사용한다. 2. 속성과 인덱서의 같은 점과 다른 점을 각각 설명하시오. 실제로 동작할 때는 메소드로 동작하고, get, set 접근자에 의해 표현된다. 하지만 인덱서의 경우 반드시 this를 사용한다. 3. 다음 예제의 결과를 논하시오. set 접근자 호출\nProperty Value Input 4. 다음은 인덱서를 사용해서 Color 배열에 원하는 색을 입력하기 위한 인덱서 예제의 일부다. 밑줄이 있을 곳에 위치할 소스는 몇 번 소스인가? ① 5. 네임스페이스를 사용할 때의 장점을 말하시오. 여러 사람들이 동시에 분할해서 작업할 때 각자 개발한 클래스명이 중복될 경우를..

[연습문제] 1. 참조형 변수를 선언하고 값을 할당할 때, 변수는 메모리의 ( )영역에 저장되고 실제 데이터는 메모리의 ( )영역에 저장된다. 변수에 젖아되는 값은 실제 데이터가 저장된 곳의 주소 값을 저장하게 된다. 스택, 힙 2. 값형을 참조형으로 변환하는 것을( )(이)라고 하고 참조형을 값형으로 변환하는 것을 ( )(이)라고 한다. 박싱, 언박싱 3. ( )연산자를 사용하면 형 변환이 가능한지 체크할 수 있다. is [심화연습문제] 1. x,y,z 좌표 값을 멤버로 저장하는 클래스를 구현하시오. 클래스명은 Coordinate로 한다. 클래스 멤버로는 x,y,z 좌표 값을 저장하는 멤버 변수를 정의한다. 좌표 값의 이동 기능을 하는 메소드를 정의하고 구현한다. 현재 좌표 값을 출력하고 좌표 값을 적..

[연습문제] 1. 상속을 통해서 파생 클래스는 기반 클래스의 접근 지정자가 ( )와(과) ( )인 멤버를 모두 상속받아 사용한다. protected, public 2. 기반 클래스의 메소드를 파생 클래스에서 새롭게 재정의하는 것을 메소드 ( )(이)라고 한다. 이때 재정의 되는 기반 클래스의 메소드에( )키워드를 사용해서 재정의 가능한 메소드임을 표시해줘야 한다. 오버라이드, override 3. 추상 클래스와 인터페이스의 역할에 대해서 공통점과 차이점 위주로 설명하시오. 추상 클래스는 인스턴스를 생성하지 않는 점에서 인터페이스와 같지만, 구체적인 구현부를 폼할 수 있다는 점에서 다르다. [심화연습문제] 1. 다음과 같이 설명하는 구조의 클래스들을 코드로 구현하시오. 기반 클래스, 파생 클래스의 구조를 ..

[연습문제] 1. 클래스의 구성 요소인 클래스 멤버들을 나열하시오. 필드, 메소드, 연산자, 상수, 생성자, 속성, 인덱스, 이벤트 2. 접근 지정자 중에서 자신의 클래스와 상속받는 클래스에서만 접근이 가능하게 하는 지정자는 무엇인가? protected 3. 객체를 생성하는 과정에서 메모리에 객체를 할당한 후 객체 멤버 값의 초기화는 ( )(이)가 담당한다. new 연산자 4. C#에서 객체의 소멸은 ( )(이)가 담당하기 때문에 사용자가 객체 소멸 코드를 직접 작성할 필요가 없다. 가비지 컬렉션(Garbage Collection) 5. 객체 소멸 시 동시에 정리 작업을 해야할 것을 ( )에 사용자가 직접 작성한다. Finalize Method [심화연습문제] 1. 사칙 연산이 가능한 계산기 클래스를 정..
[연습문제] 1. 객체를 정의할 때 사용되는 요소는 ( ), ( ) 그리고 독자성이다. 상태(State), 행동(Behavior) 2. 객체지향의 원리들을 열거하시오. 추상화(Abstraction), 캡슐화(Encaptulation), 모듈화(Modularity), 계층성(Hierarchy) 3. 클래스와 객체와의 관계를 간략히 설명하시오. 클래스는 객체의 설계도 역할을 한다. 그리고 객체는 클래스의 구현이라 할 수 있다. 4. 상속을 통해서 얻을 수 있는 장점에 대해 간략히 설명하시오. 코드의 재사용과 유지 관리에 있어 많은 이점을 얻을 수 있다. 5. 객체 지향에서 클래스들의 구조를 규약하기 위한 설계도 역할을 할 수 있는 것은 ( )와(과) ( ) (이)다. 추상 클래스와 인터페이스

[연습문제] 1. 배열은 어떤 때 사용하는 게 유용한가? 같은 형식의 데이터를 그룹화해서 사용하거나, 편집할 때 유용하게 사용된다. 2. 배열을 초기화할 때 스택과 힙에 각각 저장되는 정보는 무엇인가? 스택에는 배열의 이름명이 저장되고 힙에는 배열의 실제 요소가 저장된다. 3. long[] LongArray = {1,2,3,4} 배열이 있다. for문을 사용해서 요소의 모든 값을 1씩 증가시키고, 다시 출력하시오. 4. int[] myArray = new int[5] 배열을 선언했다. 여기서 각 요소들을 참조하거나 편집할 때, 왜 myArray[5]는 사용할 수 없는 것인지 이유를 적으시오. 배열의 인덱스가 0부터 시작하기 때문이다. 5. 배열을 복사할 때 원래 배열의 값을 바꾸면 복사된 배열의 값도 바..

[연습문제] 1. 메소드와 클래스의 차이점을 설명하시오. 클래스는 '속성'과 '동작'에 대한 정의를 모두 포함한다. 이에 반해 메소드는 클래스에서 동작에 해당하는 기능만을 의미한다. 2. 다음 중 변수의 설명으로는 틀린 것을 고르시오. ③ : 지역변수는 초기화 하지 않으면 사용할 수 없다. 3. 다음과 같은 코드가 있다. 이 중에서 호출할 대 구분될 수 없는 "메소드 선언식" 한 쌍을 고르시오. ②, ⑤ : 오버로딩은 매개인수의 차이에 의해 실행된다. 4. 메소드의 인자를 전달하는 방식 6개의 특징과 차이를 설명하시오. 값에 의한 전달(인자가 값형 변수일 때) : 인자로 사용하는 변수를 메소드에 그대로 전달하는 방식, 이때 사용하는 변수는 자신의 변수 형식에 맞는 변수 값을 포함한다. 값에 의한 전달(인..

[연습문제] 1. if문을 사용해서 다음 조건을 만족하는 프로그램을 작성하시오. 콘솔 응용 프로그램으로 작성한다. 성적을 키보드로 입력받아서 해당하는 학점을 출력한다. 50점 이하는 F, 61~70점은 D, 71~80점은 C, 81~90점은 B, 91점 이상은 A를 출력한다. 2. switch문을 사용해서 다음 조건을 만족하는 프로그램을 작성하시오. 3. 반복문을 사용해서 다음 형태를 출력하는 프로그램을 작성하시오. 4. While문과 Do.... While문의 차이점은 무엇인가? While문은 조건식이 맞지 않으면 실행하지 않으나 Do...While문은 한 번 실행 후 조건식과 비교한다. 5. goto문을 사용하면 좋지 않은 이유는 무엇인가? 어느 시점에서 제대로 작동하는지 사용자가 알 수 없음. 코드..