책 소개
소프트웨어 공학의 역사를 통틀어 컴퓨터 프로그램을 작성하는 데 사용된 방법론은 몇 번의 패러다임의 전환을 거치면서 각 전환기마다 코드 구조를 향상시키고 복잡성을 줄이는 식으로 다음의 전환에 대한 토대를 이뤄왔다. 처음 몇 장에서는 구문이 작성된 순서대로 실행되는 순차 프로그래밍 구조를 살펴본다. 이런 모델에 내포된 문제는 요구 사항이 증가함에 따라 복잡성이 기하급수적으로 증가한다는 점이다. 이런 복잡성을 줄이려면 코드 블록을 메소드로 옮기는 구조화된 프로그래밍 모델을 만들면 된다. 이 모델을 사용하면 프로그램 내의 여러 위치에서 코드 중복 없이 동일한 코드 블록을 호출할 수 있다. 하지만 이런 구조도 곧 커져가는 프로그램의 통제로 인해 한계에 부딪혔고 추상화를 더 필요로 했다. 5장에서 설명한 객체지향 프로그래밍은 이런 상황을 바로 잡기 위해 등장했다. 뒤이은 장들에서 인터페이스 기반 프로그래밍과 LINQ(그리고 이를 컬렉션 API로 만든 변환), 특성을 통한 기본적인 선언형 프로그래밍 형식(17장)과 같은 추가적인 방법론을 배운다. 이 책의 주요 장점은 다음 세 가지다. ? C# 언어에 대해 포괄적으로 다루면서 단순한 학습서 수준을 넘어 효과적인 소프트웨어 개발 프로젝트를 시작할 수 있는 토대를 제공한다. ? 이미 C#에 익숙한 독자의 경우 더 복잡한 프로그래밍 패러다임에 대한 통찰력을 제공하며, C# 6.0과 닷넷 프레임워크 4.6의 가장 최신 버전에서 소개한 기능을 상세히 다룬다. ? 이 책은 시간이 지나도 변치 않는 참고서로서, C#에 충분히 익숙해진 이후에도 여전히 유용하다. C# 학습에 성공하려면 가능한 한 빨리 코드부터 작성해야 한다. 이론적으로 완전히 무장할 때까지 기다릴 필요가 없다. 바로 소프트웨어를 작성해보는 것이 좋다. 반복 개발의 신봉자처럼 나는 이 책을 통해 초보 프로그래머일지라도 2장의 말미에서 기본 C# 코드 작성을 시작할 수 있기를 바란다. 이 책에서 많은 주제를 다루지는 않는다. ASP 닷넷, 엔티티 프레임워크, WPF와 같은 스마트 클라이언트 개발, 분산 프로그래밍 등과 같은 주제까지 다루지는 않는다. 이들 주제가 닷넷 프레임워크와 관련이 있지만, 이들을 다루려면 각 주제별로 책 한 권이 따로 필요할 정도다. 다행히 애디슨웨슬리 출판사의 닷넷 개발 시리즈에는 이러한 주제를 다룬 책이 여럿 있다. 이 책은 C#과 기본 클래스 라이브러리 내의 형식에 초점을 맞춘다. 이 책을 읽으면 다른 시리즈에서 다루는 영역에 대한 전문성을 개발하는 데 필요한 준비를 마칠 수 있다.
목차펼치기접기
1장. C# 소개 Hello, World C# 구문 기초 콘솔 입력과 출력 요약 2장. 데이터 형식 기본 숫자 형식 더 알아야 할 기본 형식 null과 void 형식 분류 null 허용 한정자 데이터 형식 간의 변환 배열 요약 3장. 연산자와 흐름 제어 연산자 흐름 제어 소개 코드 블록({}) 코드 블록과 범위, 선언 공간 불리언 표현식 비트 단위 연산자(, |, &, ^, ~) 흐름 제어 구문(계속) 점프문 C# 전처리 지시문 요약 4장. 메소드와 매개변수 메소드 호출 메소드 선언 using 지시문 Main()의 반환과 매개변수 고급 메소드 매개변수 재귀 메소드 오버로딩 선택적 매개변수 예외를 사용한 기본 에러 처리 요약 5장. 클래스 클래스 선언과 인스턴스 생성 인스턴스 필드 인스턴스 메소드 this 키워드 사용 접근 한정자 속성 생성자 정적 멤버 확장 메소드 데이터 캡슐화 중첩 클래스 부분 클래스 요약 6장. 상속 파생 기본 클래스 재정의 추상 클래스 System.Object에서 파생된 모든 클래스 is 연산자를 사용한 기본 형식 확인 as 연산자를 사용한 변환 요약 7장. 인터페이스 인터페이스 소개 인터페이스를 통한 다형성 인터페이스 구현 클래스와 인터페이스 구현 간의 변환 인터페이스 상속 다중 인터페이스 상속 인터페이스의 확장 메소드 인터페이스를 통한 다중 상속 구현 버전 관리 인터페이스와 클래스의 비교 인터페이스와 특성 비교 요약 8장. 값 형식 구조체 박싱 열거형 요약 9장. 잘 구성된 형식 object 멤버 재정의 연산자 오버로딩 기타 어셈블리 참조 네임스페이스 정의 XML 주석 가비지 수집 리소스 정리 지연 초기화 요약 10장. 예외 처리 다중 예외 형식 예외 잡기 일반 catch 블록시 예외 처리를 위한 지침 사용자 지정 예외 정의 예외 래핑과 다시 던지기 요약 11장. 제네릭 제네릭 없는 C# 제네릭 형식 소개 제약 조건 제네릭 메소드 공변과 반공변 제네릭의 내부 요약 12장. 대리자와 람다 식 대리자 소개 람다 식 익명 메소드 범용 대리자(System.Func와 System.Action) 요약 13장. 이벤트 다중 형 변환 대리자를 이용한 Observer 패턴 구현 이벤트 요약 14장. 컬렉션 인터페이스와 표준 질의 연산자 익명 형식과 암시적 형식의 지역 변수 컬렉션 이니셜라이저 클래스를 컬렉션으로 만들어주는 IEnumerable 표준 질의 연산자 요약 15장. LINQ와 질의 식 질의 식 소개 질의 식은 메소드 호출일 뿐이다 요약 16장. 사용자 지정 컬렉션 기타 컬렉션 인터페이스 주요 컬렉션 클래스 인덱서 지원 Null이나 빈 컬렉션의 반환 반복기 요약 17장. 리플렉션, 특성, 동적 프로그래밍 리플렉션 nameof 연산자 특성 동적 객체를 이용하는 프로그래밍 요약 18장. 멀티스레딩 멀티스레딩 기초 System.Threading 활용 비동기 태스크 태스크 취소 태스크 기반 비동기 패턴 루프 반복의 병렬 처리 LINQ 질의의 병렬 실행 요약 19장. 스레드 동기화 왜 동기화가 필요한가? 타이머 요약 20장. 플랫폼 상호운용성과 안전하지 않은 코드 플랫폼 호출 포인터와 주소 대리자를 통한 안전하지 않은 코드 실행 C#을 통한 윈도우 런타임 활용 요약 21장. 공용 언어 인프라 공용 언어 인프라의 정의 CLI 구현 C#에서 기계어로의 컴파일 런타임 애플리케이션 도메인 어셈블리, 매니페스트, 모듈 공용 중간 언어(CIL) 공용 형식 시스템(CTS) 공용 언어 사양(CLS) 기본 클래스 라이브러리(BCL) 메타데이터 요약 부록 A. C# 컴파일러와 CLI 플랫폼의 다운로드와 설치 윈도우용 마이크로소프트 닷넷 OS X과 리눅스에서의 닷넷 부록 B. 3목 프로그램 소스코드 비동기 프로그래밍 모델 비동기 대리자 호출 이벤트 기반 비동기 패턴(EAP) 백그라운드 작업자 패턴 윈도우 UI로의 디스패치 부록 D. C# 5.0의 Async/Await 패턴 이전의 타이머
출처: 국립중앙도서관 서지정보
리뷰 남기기
로그인하면 리뷰를 남길 수 있어요.
리뷰 0개
아직 리뷰가 없어요.
