서브메뉴

본문

초보자를 위한 C# 200제
초보자를 위한 C# 200제
저자 : 조효은
출판사 : 정보문화사
출판년 : 2009
ISBN : 9788956744520

책소개

한경닷컴 교육센터 수석강사 조효은의 『초보자를 위한 C# 200제』. 실무에서 바로 활용할 수 있는 200가지의 예제로 객체지향 프로그래밍 언어인 C#의 핵심을 완전히 정복할 수 있도록 구성했다.

200가지의 문제뿐 아니라, 200가지의 해결 방법, 200가지의 소스 코드로 인해 반복 학습이 가능하다. C#의 문법을 익힐 뿐 아니라, 응용력을 키우게 된다. 명확한 그림과 도표를 통해서는 C#의 특징과 구조에 대한 이해를 도와주고 있다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

특징

200개의 예제로 C#의 핵심을 완벽하게 터득한다!
입문부터 초급을 거쳐 중급까지 실무 예제로 배우는 C# 프로그래밍

- 200개의 예제를 통해 C# 프로그래밍의 문법을 익히고 응용력을 키운다.
- 명확한 그림과 도표를 통해 개체지향 프로그래밍 언어인 C# 특징과 핵심 구조를 이해한다.
- C# 프로그래밍의 정석을 보여주는 실무형 예제로 구성되어 있다.

는 문자 그대로 200개의 예제로 이루어져 있습니다. 200가지의 문제, 200가지의 해결 방법, 200가지의 소스 코드 덕분에 끊임없는 반복 학습이 가능합니다. 문법에 대한 설명이나 이미 짜여진 코드를 보고 넘어가기는 쉽지만, 막상 활용하려면 보이지 않는 벽에 부딪히는 경우가 많습니다. 에서는 각 장에서 배운 문법을 최대한 활용할 수 있게 구성하였으므로 각 문법이 실제로 어떻게 사용되는지 생생하게 볼 수 있습니다.
주어진 문제를 해결하는 방법은 다양합니다. 그렇지만 그 해결 방법은 쉬우면서도 효율적이어야 합니다. 이 책은 실제 학습 현장에서 배우는 학생들의 의견을 최대한 반영하였으므로 각 예제에 대해 쉽고 효율적인 해결 방법을 배울 수 있습니다.
또한 부담이 적은 입문 단계부터 중급 단계에 이르는 소규모 예제들이 제시되어 있습니다. 따라서 각 예제를 해결할 때마다 성취감도 느낄 수 있으므로 C# 프로그래밍에 재미를 붙일 수 있습니다.


내용

☆ 개체지향 프로그래밍
☆ 은닉화
☆ 상속성
☆ 다형성
☆ 메서드 선언과 호출
☆ 오버로딩과 오버라이딩
☆ 추상 클래스와 인터페이스


저자의 글

새로운 객체 지향 언어들이 나오면서 소멸될 줄 알았던 C++는 요즘도 널리 쓰이고 있는데, 이는 C++의 성능이 우수하며 유지보수하기가 쉽기 때문이다. 또한 C++는 캡슐화, 상속성, 다형성을 지원하므로 객체 지향 언어의 3대 개념을 만족한다. 하지만 대부분의 개발 입문자들이 C++는 어려운 언어라는 생각을 많이 한다. 포인터(*)와 주소 연산자(&)의 사용법이 매우 까다롭기 때문이다.
그러나 C#은 어렵게 여기는 C++의 포인터(*)와 주소 연산자(&)를 제거하여 쉽게 사용할 수 있도록 했으며, C++의 좋은 점을 많이 갖고 있어서 강력하고도 쉬운 언어가 되었다. 요즘 MFC나 VB로 작성하던 게임 프로그램을 C#으로 작성하고 있을 정도로 사용 범위가 많이 넓어졌다. 핸드 헬드 디바이스(Hand Held Device)와 차량용 네비게이션부터 게임 프로그래밍, 윈도우 프로그래밍, 웹 서비스, SOA, 웹 프로그래밍 등 사용 용도가 다양해지면서 사용량도 증가하고 있다. C#의 버전(1, 1.1, 2, 3, 3.5)이 높아질수록 기능과 사용량 모두 증가하고 있다. 특히 Visual Studio 2008(닷넷 3.5)에 WCF, WPF, LINQ 등 새로운 기능들이 추가된 덕분에 C#은 더욱 강력해졌다.

문법은 외울 수 있지만, 응용력은 외운다고 길러지는 것이 아니다. 기본 원리를 이해하고 응용 방법을 지속적으로 학습해야 한다. 이 책에서는 활용할 수 있는 예제를 단순한 것부터 복잡한 것까지 단계별로 제시한다. 처음에는 문법과 기본 타입이 많지만 뒤로 갈수록 객체 지향 특징을 많이 만날 수 있다. 설명한 문법을 응용하여 문제를 해결하도록 했으며, 코딩의 양을 늘려가면서 복잡한 것도 소화할 수 있도록 조절하였다. 기본 문법을 익힐 때에도 소수, 완전수, 약수, 진수, 버블 정렬을 통하여 간단한 코딩 방법과 응용 방법을 익히도록 했다.
로또, 야구, 카드, 마방진, 주식, RSA 등 재미를 느끼면서 공부할 수 있는 예제, 정렬(선택, 퀵, 삽입), 재귀(팩토리얼, 최대공약수, 최소공약수, 퍼뮤테이션(순열), 콤비네이션(조합), 퀵, 황금비) 등과 같은 중요한 로직도 쉽게 익힐 수 있도록 구성하였다. 컬렉션과 제네릭을 이용한 카드놀이, 계층 구조를 이용한 만능마방진 등 실무에서 사용할 수 있는 예제를 넣었다. 그리고 시계, 카드, 야구, 채팅, 메모장, 웹 브라우저, 바이오리듬, 서울/부산 지하철 최단거리 등 응용 결과를 Windows 응용 프로그램으로 확인할 수 있도록 하여 응용력과 개발 동기, 재미를 통하여 로직에 친숙해지도록 하였다. 또한 부록에 DB 설치 방법, 19가지의 SQL 쿼리, LINQ를 이용한 학생 관리 DB 프로그래밍, 카드 게임을 활용한 블랙잭, 16 퍼즐, 같은 그림 맞추기, 고스톱 등 활용 방법 등을 풍부하게 넣었다.
이 책의 예제에는 순열, 조합, 기약분수, 복소수, 중간값 정리, 제곱근 등도 포함되어 있다. 수학이라면 치를 떠는 사람도 있겠지만 우리의 목표는 풀이 과정을 프로그램으로 바꾸는 것이다. 푸는 과정을 찾아서 순서대로 나열하고, 이를 프로그램으로 바꿀 줄 안다면 C# 뿐만 아니라 다른 언어를 배울 때도 중요한 능력을 습득하게 되는 것이다.
이전에 썼던 「초보자를 위한 자바 200제」, 「초보자를 위한 C++ 200제」에서도 강조했지만 총 코딩량이 10,000줄을 넘어야 응용력이 확장된다. 수년간 많은 학생을 지도해 보면서 확인한 생각이다. 무슨 일이든지 일정량이 축적되면 그 다음부터 고비를 쉽게 넘기거나 뜻밖의 아이디어가 떠오르는 경우가 있는데, 이는 C# 프로그래밍/코딩에서도 마찬가지이다. 보기 좋은 음식이 먹기도 좋다는 말은 코딩에도 그대로 적용된다. 누가 봐도 한눈에 알아볼 수 있도록 브레이스 열고 닫기, 다음 줄 탭 주기, 코딩 간격 등을 일정하게 유지하는 습관을 들이자. 보기 쉬운 코딩은 알기 쉬울 뿐더러 오류도 쉽게 찾을 수 있으므로 우선은 실력 향상, 시간이 지나면 우수한 개발자가 되는 밑거름이 된다.
[교보문고에서 제공한 정보입니다.]

목차정보

머리말
이 책의 구성
시작하기 전에

Part 1 C# 프로그래밍 체험하기
001 C# 프로그래밍 시작하기
002 C# 윈도우 프로그래밍 시작하기
003 C# 윈도우 프로그래밍 맛보기
004 C# 윈도우 프로그래밍 예외 처리하기
005 C# 윈도우 프로그래밍 발전시키기

Part 2 C# 프로그래밍 기본기 익히기
006 변수
007 타입(type, 형)
008 기본 산술 연산자(operator)
009 메서드(method)
010 예약어(키워드)와 이름명령법
011 조건문 if~else
012 삼항 연산자(? :)
013 순환문 for
014 중첩 for 문
015 등차수열
016 Math 클래스
017 네임스페이스(namespace)
018 스태틱 메서드(static method)
019 break
020 continue
021 논리 연산자
022 단축 연산자
023 관계 연산자
024 비트 연산자
025 switch~case 조건 선택문 1
026 switch~case 조건 선택문 2
027 쉬프트 연산자
028 while 문
029 do~while 문
030 1차원 배열(버블 정렬)
031 ref 키워드
032 foreach
033 params
034 ++, -- 증감 연산자
035 out 키워드
036 string
037 StringBuilder
038 char
039 char와 int 변환
040 Array 클래스
041 enum
042 오버로딩(Overloading)
043 오브젝트(object) 클래스
044 is 키워드
045 as 키워드
046 ArrayList
047 ArrayList와 IEnumerator
048 박싱(Boxing)과 언박싱(Unboxing)
049 제네릭 List
050 생성자
051 프로퍼티와 복사 생성자
052 연산자 오버로딩
053 Equals 오버라이딩
054 인덱서(indexer)
055 상속(inheritance)과 protected
056 this( ), base( ) 생성자
057 오버라이드(override)
058 다형성(polymorphism) 이해하기 1
059 임의의 수를 만드는 Random 사용하기
060 2차원 배열
061 메모리 특징 이해하기
062 다형성 이해하기 2
063 개체지향 프로그래밍(OOP)의 특징
064 개체지향 프로그래밍 짜보기 1
065 개체지향 프로그래밍 짜보기 2
066 new 오버라이드
067 어셈블리 참조하기
068 internal 이해하기
069 throw를 이용한 예외 만들기와 처리하기
070 사용자가 정의한 예외 만들기
071 사용자가 정의한 예외 처리하기
072 readonly 키워드
073 원리합계를 이용한 적금 계산하기
074 기본형 캐스팅을 이용한 윈도우 적금 만들기
075 홀수 마방진을 이용한 2차원 배열 활용하기
076 홀수 마방진을 이용한 추상 클래스 이해하기
077 홀수 마방진을 이용한 인터페이스 이해하기
078 홀수 마방진을 이용한 계층 구조 이해하기
079 홀수 마방진을 이용한 다중 상속 흉내내기
080 델리게이트(delegate)
081 IO 이해하기 1(파일 읽기)
082 IO 이해하기 2(파일 쓰기)
083 IO 이해하기 3(using 사용하기)
084 구조체(struct)
085 구조체(struct) 사용하기
086 암시적(implicit) 형변환
087 명시적(explicit) 형변환
088 컬렉션(Collection)
089 Hashtable
090 Dictionary 제네릭
091 Queue 제네릭
092 Stack 제네릭
093 제네릭 메서드
094 제네릭 클래스
095 string과 기본 타입에 대한 CompareTo( ) 메서드
096 string과 기본 타입에 대한 CompareTo( ) 메서드의 사용
097 where 키워드
098 yield 키워드
099 Clone( ) 메서드를 이용한 깊은 복사
100 Clone( ) 메서드를 이용한 깊은 복사 사용하기
101 드라이버(Driver) 정보 보여주기
102 디렉토리(Directory) 정보 보여주기
103 파일(File) 정보 보여주기
104 재귀 메서드 1(최대공약수)
105 재귀 메서드 2(하위 디렉토리 출력)
106 IComparer를 이용한 개체 비교하기
107 IComparable을 이용한 개체 비교하기
108 제네릭을 이용한 개체 비교하기
109 쓰레드(thread)
110 쓰레드 작업 순서 변경하기
111 쓰레드 조인
112 쓰레드 동기화
113 쓰레드와 Wait( ), PulseAll( ) 메서드
114 Monitor 이해하기
115 XML
116 XML과 XML 스키마
117 XML을 HTML로 변환하기
118 CSV(Comma Separate Value)를 XML로 바꾸기
119 XML 문서 읽기
120 XML 문서 저장하기
121 웹 화면의 HTML 읽어오기
122 웹에서 이미지 읽어오기
123 웹에서 읽어온 이미지 저장하기
124 클라이언트에서 서버로 메시지 보내기 1(클라이언트)
125 클라이언트에서 서버로 메시지 보내기 2(서버)
126 에코(Echo) 서버 만들기 1(클라이언트)
127 에코(Echo) 서버 만들기 2(서버)
128 웹 서비스 계산기 만들기
129 데이터베이스와 테이블 만들기
130 ADO.NET 사용하기

Part 3 C# 프로그래밍 응용하기
131 소수(prime number) 구하기
132 에라토스테네스의 체를 이용하여 소수 구하기
133 로또 만들기
134 같은 번호가 두 번씩 들어간 배열 만들기 1
135 숫자 섞기(shuffle)
136 같은 번호가 두 번씩 들어간 배열 만들기 2
137 소인수 분해하기
138 스미스 수 구하기
139 메르센 소수 구하기
140 소수쌍 구하기
141 한글을 바이트(byte)로 만들기
143 RSA를 이용한 암호화 1(공개키 구하기)
143 RSA를 이용한 암호화 2(개인키 구하기)
144 RSA를 이용한 암호화 3(암호화)
145 RSA를 이용한 암호화 4(해독)
146 정보처리기사 문제 1
147 정보처리기사 문제 2
148 배열을 이용하여 다항 함수 만들기
149 중간값 정리를 이용하여 해 구하기
150 제곱근 구하기
151 테일러 급수를 이용하여 사인(sin)값 구하기
152 피보나치 수열과 황금률 구하기
153 재귀를 이용하여 순열, 조합의 수 구하기
154 하노이 타워 만들기 1
155 하노이 타워 만들기 2
156 선택 정렬(Selection Sort)
157 삽입 정렬(Insertion Sort)
158 퀵 정렬(Quick Sort)
159 기약분수 사용하기
160 개미퀴즈 만들기
161 마방진 완성 확인하기
162 4×4 마방진 만들기
163 6×6 마방진 만들기
164 추상 클래스를 이용한 마방진 계층 구조 만들기
165 인터페이스를 이용한 마방진 계층 구조 만들기
166 만능 마방진 완성하기
167 스태틱을 이용한 진수 변환
168 멤버 메서드를 이용한 진수 변환
169 소수의 덧셈으로 짝수 만들기
170 재귀를 이용하여 지뢰가 없는 지역 청소하기
171 1차원 배열과 2차원 배열을 서로 변환하기
172 게임 가능한 16 퍼즐 만들기
173 역행렬 구하기(가우스-조던)
174 역행렬 구하기(가우스-조던과 피보팅)
175 연산자 오버로딩을 이용하여 역행렬 구하기
176 switch~case로 만년달력 만들기
177 배열로 만년달력 만들기
178 DateTime을 이용한 만년달력 만들기
179 DateTime을 이용한 바이오리듬 구하기(윈폼)
180 바이오리듬 보여주기(윈폼)
181 시계 만들기 1(윈폼)
182 시계 만들기 2(윈폼)
183 야구게임 만들기 1
184 야구게임 만들기 2(콘솔)
185 야구게임 만들기 3(윈폼)
186 카드게임 만들기 1(콘솔)
187 카드게임 만들기 2(콘솔)
188 최단거리 구하기(플로이드)
189 최단거리 구하기 : 서울(윈폼)
190 최단거리 구하기 : 부산(윈폼)
191 주식 정보 읽기
192 주식 정보 XML을 HTML로 변환하기
193 웹 브라우저 만들기
194 DataSet과 TreeView를 이용하여 XML 문서 보기
195 메모장 만들기
196 채팅 준비하기
197 채팅하기(콘솔)
198 채팅하기(윈폼)
199 학생 정보 관리하기 1(윈폼-DB)
200 학생 정보 관리하기 2(윈폼-DB)

Part 4 부록
01 PUBS 데이터베이스 등록하기
02 PUBS 데이터베이스 활용하기
03 PUBS 데이터베이스 쿼리 작성하기
04 LINQ 사용하기
05 섹션 199, 200을 LINQ로 바꾸기
06 응용프로그램
[교보문고에서 제공한 정보입니다.]

QuickMenu