
책소개
C# 언어의 탄생 배경부터 상세한 입문 과정까지 C#을 설명하는 책. 문법 설명에만 치중하지 않고 프로그램의 동작원리도 충실하게 설명한다. 또한 C# 프로그램이 수행될 때 밑단에서 돌아가는 닷넷 프레임워크를 상세히 설명하며 이론을 설명한 후에는 반드시 예제 코드로 직접 실습할 수 있게 배려했다.
이 책은 <뇌를 자극하는 C# 4.0 프로그래밍>의 개정판으로, 그 내용을 거의 그대로 유지하고 있다. <뇌를 자극하는 C# 4.0 프로그래밍>에서 발견된 오탈자와 오류가 보완되었으며, C# 5.0에 도입된 새로운 내용들을 추가 설명하고 있다.
C# 5.0 버전에서 새롭게 제공하는 기능은 '비동기 코드 패턴의 컴파일러 수준 지원'과, '호출자 정보 애트리뷰트'로 각 19장, 16장에서 다룬다. 그리고 가독성을 높이기 위해 본문 레이아웃을 변경하였고, C# 5.0 버전에 맞춰 소스 코드를 수정했다.
출판사소개
목차
1장 프로그래밍을 시작합시다
__1.1 프로그래밍 언어의 역사
__1.2 비주얼 스튜디오 익스프레스 설치하기
2장 처음 만드는 C# 프로그램
__2.1 Hello, World!
__2.2 첫 번째 프로그램 뜯어보기
__2.3 CLR에 대하여
__연습문제
3장 데이터 보관하기
__3.1 데이터에도 종류가 있다
__3.2 변수
__3.3 값 형식과 참조 형식
__3.4 기본 데이터 형식
__3.5 상수와 열거 형식
__3.6 Nullable 형식
__3.7 var: 데이터 형식을 알아서 파악하는 똑똑한 C# 컴파일러
__3.8 공용 형식 시스템
__연습문제
4장 데이터를 가공하는 연산자
__4.1 C#에서 제공하는 연산자 둘러보기
__4.2 산술 연산자
__4.3 증가 연산자와 감소 연산자
__4.4 문자열 결합 연산자
__4.5 관계 연산자
__4.6 논리 연산자
__4.7 조건 연산자
__4.8 비트 연산자
__4.9 할당 연산자
__4.10 연산자의 우선순위
__연습문제
5장 코드의 흐름 제어하기
__5.1 분기문
__5.2 반복문
__5.3 점프문
__연습문제
6장 메소드로 코드 간추리기
__6.1 메소드란?
__6.2 return에 대하여
__6.3 매개 변수에 대하여
__6.4 참조에 의한 매개 변수 전달
__6.5 출력 전용 매개 변수
__6.6 메소드 오버로딩
__6.7 가변길이 매개 변수
__6.8 명명된 매개 변수
__6.9 선택적 매개 변수
__연습문제
7장 클래스
__7.1 객체 지향 프로그래밍과 클래스
__7.2 클래스의 선언과 객체의 생성
__7.3 객체의 삶과 죽음에 대하여: 생성자와 소멸자
__7.4 정적 필드와 메소드
__7.5 객체 복사하기: 얕은 복사와 깊은 복사
__7.6 this 키워드
__7.7 접근 한정자로 공개 수준 결정하기
__7.8 상속으로 코드 재활용하기
__7.9 기반 클래스와 파생 클래스 사이의 형식 변환, 그리고is 와 as
__7.10 오버라이딩과 다형성
__7.11 메소드 숨기기
__7.12 오버라이딩 봉인하기
__7.13 중첩 클래스
__7.14 분할 클래스
__7.15 확장 메소드
__7.16 구조체
__연습문제
8장 인터페이스와 추상 클래스
__8.1 인터페이스의 선언
__8.2 인터페이스는 약속이다
__8.3 인터페이스를 상속하는 인터페이스
__8.4 여러 개의 인터페이스, 한꺼번에 상속하기
__8.5 추상 클래스: 인터페이스와 클래스 사이
__연습문제
9장 프로퍼티
__9.1 public 필드의 유혹
__9.2 메소드보다 프로퍼티
__9.3 자동 구현 프로퍼티
__9.4 프로퍼티와 생성자
__9.5 무명 형식
__9.6 인터페이스의 프로퍼티
__9.7 추상 클래스와 프로퍼티
__연습문제
10장 배열과 컬렉션, 그리고 인덱서
__10.1 All for one, one for all
__10.2 배열을 초기화하는 세 가지 방법
__10.3 알아두면 삶이 윤택해지는 System.Array
__10.4 2차원 배열
__10.5 다차원 배열
__10.6 가변 배열
__10.7 컬렉션 맛보기
__10.8 인덱서
__10.9 foreach가 가능한 객체를 만들기
__연습문제
11장 일반화 프로그래밍
__11.1 일반화 프로그래밍이란?
__11.2 일반화 메소드
__11.3 일반화 클래스
__11.4 형식 매개 변수 제약시키기
__11.5 일반화 컬렉션
__11.6 foreach를 사용할 수 있는 일반화 클래스
__연습문제
12장 예외 처리하기
__12.1 예외에 대하여
__12.2 try~catch로 예외 받기
__12.3 System.Exception 클래스
__12.4 예외 던지기
__12.5 try~catch와 finally
__12.6 사용자 정의 예외 클래스 만들기
__12.7 예외 처리 다시 생각해보기
__연습문제
13장 델리게이트와 이벤트
__13.1 델리게이트란?
__13.2 델리게이트는 왜, 그리고 언제 사용하나요?
__13.3 일반화 델리게이트
__13.4 델리게이트 체인
__13.5 익명 메소드
__13.6 이벤트: 객체에 일어난 사건 알리기
__13.7 델리게이트와 이벤트
__연습문제
14장 람다식
__14.1 람다식, 너는 어디에서 왔니?
__14.2 처음 만드는 람다식
__14.3 문 형식의 람다식
__14.4 Func와 Action으로 더 간편하게 무명 함수 만들기
__14.5 식 트리
__연습문제
15장 LINQ
__15.1 데이터! 데이터! 데이터!
__15.2 LINQ의 기본: from, where, orderby, select
__15.3 여러 개의 데이터 원본에 질의하기
__15.4 group by로 데이터 분류하기
__15.5 두 데이터 원본을 연결하는 join
__15.6 LINQ의 비밀과 LINQ 표준 연산자
__연습문제
16장 리플렉션과 애트리뷰트
__16.1 리플렉션
__16.2 애트리뷰트
__연습문제
17장 dynamic 형식
__17.1 dynamic 형식 소개
__17.2 COM과 .NET 사이의 상호 운용성을 위한 dynamic 형식
__17.3 동적 언어와의 상호 운용성을 위한 dynamic 형식
__연습문제
18장 파일 다루기
__18.1 파일 정보와 디렉토리 정보 다루기
__18.2 파일을 읽고 쓰기 위해 알아야 할 것들
__18.3 이진 데이터 처리를 위한 BinaryWriter/BinaryReader
__18.4 텍스트 파일 처리를 위한 StreamWriter/StreamReader
__18.5 객체 직렬화하기
19장 스레드와 태스크
__19.1 프로세스와 스레드
__19.2 Task와 Task<TResult>, 그리고 Parallel
__19.3 async 한정자와 await 연산자로 만드는 비동기 코드
20장 WinForm으로 만드는 사용자 인터페이스
__20.1 도대체 무슨 일이 일어나고 있는 걸까?
__20.2 C# 코드로 WinForm 윈도우 만들기
__20.3 Application 클래스
__20.4 윈도우를 표현하는 Form 클래스
__20.5 폼 디자이너를 이용한 WinForm UI 구성
__20.6 사용자 인터페이스와 비동기 작업
21장 네트워크 프로그래밍
__21.1 네트워크 프로그래밍에 앞서 알아둬야 할 기초
__21.2 TcpListener와 TcpClient
__21.3 흐르는 패킷
22장 가비지 컬렉션
__22.1 가비지 컬렉터를 아시나요
__22.2 개처럼 할당하고 정승처럼 수거하라
__22.3 세대별 가비지 컬렉션
__22.4 가비지 컬렉션을 이해했습니다. 우리는 뭘 해야 하죠?
배송
- 배송비, 무료배송비는 업체 사정에 따라 달라질 수 있습니다.
- 배송은 결제 확인 후 다음날부터 2~3일 이내에 배송됩니다. (단 도서 산간지역은 1~2일정도 더 소요됩니다.)
- 공휴일은 배송기간에 포함되지 않습니다.
- 주문하신 상품이 여러개인 경우 동일한 업체의 상품만 묶음 배송 가능합니다. (업체 사정에 따라 달라질 수 있습니다.)
- 배송정보는 상단 주문조회나 마이페이지 주문목록에서 가능합니다.
상품 품절
- 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드립니다.
주문취소/변경
- 주문 상품에 대한 변경사항(품절,가격변동)이 발생하면 전화나 메일을 통해 변경내용을 알려드립니다.
- 주문 상품의 변경/취소/환불은 배송 시작전 마이페이지에서 직접 신청이 가능합니다.
- 주문 상품이 발송된 시점에서는 변경/취소/환불이 모두 불가능합니다.
반품/교환
- 기간 : 배송받으신 후 7일 이내에 가능합니다.
- 방법 : 홈페이지 마이페이지 > 반품/ 교환 신청 및 조회에서 가능합니다.
- 배송비 부담 : 상품에 이상이 있을시에는 무료, 고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담입니다.
- 포장 개봉 후 재판매가 불가능한 상품은 반품/교환이 불가능합니다.
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우, 반품/교환이 불가능합니다.
반품/교환 불가 사유
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우 (단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품 등의 포장을 훼손한 경우
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상 환불 지연에 따른 배상
- 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리합니다.
- 대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리합니다.