간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (42,750원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (31,500원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (36,000원)
(최대할인 4만원 / 2만원 이상 결제)
Close

Essential C# : 가장 신뢰할 수 있는 C#의 고전

원제 : Essential C# 8.0
소득공제

2013년 9월 9일 이후 누적수치입니다.

공유하기
정가

50,000원

  • 45,000 (10%할인)

    2,500P (5%적립)

할인혜택
적립혜택
  • S-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 3/5(화) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(23)

  • 상품권

AD

책소개

C# 프로그래밍 역량을 쌓을 수 있도록 C# 언어 전체에 대해 포괄적인 튜토리얼을 제공한다. 핵심 C# 개선 사항과 구조를 묘사하는 간결한 예제, 버그를 최소화하고 발전하기 쉬운 코드를 작성하기 위한 업데이트된 코딩 지침을 포함한다. C# 6.0, 7.0, 8.0 주제에 대한 버전별 인덱스와 각 언어 버전을 소개할 때 시각적인 아이콘을 제공해 필요한 내용을 빠르게 찾을 수 있도록 구성했다. 또한 한국어판 부록을 추가해 C# 9.0의 새로운 기능을 소개한다.

출판사 서평

◈ 이 책에서 다루는 내용 ◈

◆ 구조화된 프로그래밍을 사용한 기능 코드 작성
◆ null 허용 참조 형식에 대한 복잡성과 솔루션 학습
◆ 클래스와 상속, 인터페이스를 포함하는 C# 객체 구조 이해
◆ 코드 중복을 줄이는 제네릭과 대리자, 람다 식, 이벤트
◆ 새로운 표준 쿼리 연산자 컬렉션 API를 포함하는 컬렉션의 장점 활용
◆ 리플렉션 및 특성, 선언적 프로그래밍 패러다임 활용
◆ 다중스레딩 개선을 위한 태스크 기반 비동기 패턴 및 C# 8.0 비동기 스트림 활용
◆ 데이터의 병렬 처리와 태스크 다중스레딩을 통한 성능 향상
◆ 향상된 패턴 일치 구문을 사용한 복잡한 형식 프로그래밍
◆ C 기반 API를 포함해 다른 언어로 작성된 비관리 코드와 상호작용
◆ C# 프로그램과 기본 CLI 런타임 사이의 관계

◈ 이 책의 대상 독자 ◈

이 책의 목표는 어셈블리, 링크, 체인, 스레드, 퓨전과 같은 단어를 사용해 초보자를 겁먹게 하지 않으면서, 고급 개발자를 깨우치게 하는 것이다. 주요 독자는 또 다른 언어를 배우고자 하는 경험 있는 개발자다. 하지만 입문자부터 이미 능숙한 개발자 모두에게 도움을 줄 수 있다.
프로그래밍에 처음 입문자라면 초급 수준 프로그래머에서 C# 개발자로 전환하는 데 도움을 주는 리소스를 제공하므로 어떠한 C# 프로그래밍 작업도 편하게 할 수 있을 것이다. 이 책은 문법을 가르쳐줄 뿐만 아니라 여러분의 프로그래밍 경력 전체에 유용한 프로그래밍 연습을 제공한다.
C# 전문가라면 비교적 적게 접하는 구문에 대한 편리한 참고서가 될 것이다. 가장 중요한 점은 견고하고 유지보수하기 좋은 코드를 프로그래밍하기 위한 지침과 패턴을 제공한다는 점이다. 이 책은 C#을 다른 사람에게 가르치는 일에도 도움이 될 것이다.

◈ 이 책의 구성 ◈

추상적으로 보면 소프트웨어 공학이란 복잡성 관리라고 할 수 있으므로 이 책도 이러한 목적에 맞게 구성했다. 1~5장은 구조적 프로그래밍을 소개하며, 바로 간단한 기능을 제공하는 코드를 작성해볼 수 있다. 6~10장은 C#의 객체 지향 구조를 나타낸다. 입문자의 경우 이 책의 나머지에서 설명하는 고급 주제를 진행하기 전에 이 부분을 완전히 이해해야 한다. 12~14장은 복잡성을 줄이는 구조와 사실상 요즘의 모든 프로그램에 필요한 일반 패턴을 다루는 방법을 소개한다. 각 장에서 다루는 내용은 이어지는 장에서 스레드와 상호 운용성을 위해 광범위하게 사용되는 리플렉션과 특성을 갖는 동적 프로그래밍에 필요하다.
이 책의 마지막 24장은 C#이 동작하는 개발 플랫폼 콘텍스트 내에서 C#을 설명하는 CLI(Common Language Infrastructure)를 다룬다. CLI는 C# 명세가 아니며 책에서 다루는 문법이나 프로그래밍 스타일과는 거리가 있어 마지막 장에 소개했다. 하지만 24장은 순서와 상관없이 참고할 수 있다.
다음은 각 장에 대한 간단한 설명이다.

1장, C# 소개
C#으로 작성한 HelloWorld 프로그램을 보인 후 분석해 본다. 독자가 C# 프로그램의 모습에 익숙할 수 있게 하며 프로그램을 컴파일하고 디버깅하는 방법도 자세히 설명한다. C# 프로그램의 실행 콘텍스트와 중간 언어도 잠깐 설명한다.

2장, 데이터 형식
프로그램을 실행하고 데이터를 처리한다. 2장에서는 C#의 기본 데이터 형식을 소개한다.

3장, 고급 데이터 형식
3장은 값 형식과 참조 형식이라는 두 가지 형식 범주를 다룬다. 이 범주에서 암시적으로 형식화된 변수와 튜플, null 허용 한정자, C# 8.0이 소개한 기능인 null 허용 참조 형식을 설명한다. 마지막으로 기본 배열 구조의 자세히 살펴본다.

4장, 연산자와 제어 흐름
컴퓨터에서 반복 처리의 이점을 이용하려면, 프로그램 내의 루프와 조건 로직을 포함하는 방법을 알아야 한다. 4장은 C# 연산자와 데이터 변환, 전처리 지시문도 다룬다.

5장, 메서드와 매개변수
메소드와 매개변수의 세부 사항을 살펴본다. 값에 의한 전달과 참조에 의한 전달, out 매개변수를 통한 데이터 반환을 포함한다. C# 4.0에서 기본 매개변수 지원이 추가됐으므로, 기본 매개변수를 사용하는 방법을 설명한다.

6장, 클래스
클래스라는 기본 빌딩 블록이 제공되므로, 6장은 이들 구문을 결합해 전체 기능 형식을 구성한다. 클래스는 객체에 대한 템플릿을 정의함으로써 객체 지향 기술의 핵심을 형성한다. 6장은 C# 8.0에서 새로 소개한 null 허용 특성도 설명한다.

7장, 상속
상속은 많은 개발자에게 기본 프로그래밍 지식이지만 C#은 new 한정자와 같은 다소 고유한 구조를 제공한다. 7장은 재정의(overriding)를 포함해 상속 구문의 세부 사항을 설명한다.

8장, 인터페이스
클래스 간에 버전을 지정할 수 있는 상호작용 계약을 정의하는데 인터페이스를 사용하는 방법을 설명한다. C#은 명시적 및 암시적 인터페이스 멤버 구현 모두를 포함하며, 대부분의 다른 언어에서 지원하지 않는 추가적인 캡슐화 수준을 사용할 수 있다. 기본 인터페이스 멤버의 소개와 더불어, C# 8.0의 인터페이스 버전 관리에 관한 새로운 절을 추가됐다.

9장, 값 형식
참조 형식 정의처럼 일반적이진 않지만, C#에 내장된 기본 형식과 유사한 방식으로 동작하는 값 형식을 정의해야 할 때가 있다. 9장은 구조체를 정의하는 방법과 이들 구조체에서 드러내는 고유한 특성을 설명한다.

10장, 잘 구성된 형식
고급 형식 정의를 설명한다. +와 캐스트 같은 연산자를 구현하는 방법을 설명하고 여러 클래스를 단일 라이브러리로 캡슐화 하는 방법을 다룬다. 네임스페이스와 XML 주석을 정의하는 과정을 보이고, 가비지 수집을 고려해 클래스를 설계하는 방법을 설명한다.

11장, 예외 처리
5장에서 소개한 예외 처리를 확장하고, 예외가 사용자 지정 예외를 만들 수 있는 예외 계층 구조를 어떻게 따르는지 설명한다. 이 장에서는 예외 처리의 모범 사례도 몇 가지 설명한다.

12장, 제네릭
제네릭은 C# 1.0에는 없는 핵심 기능이다. 12장은 C# 2.0 기능 전체를 다룬다. 12장에서 제네릭이라는 맥락으로 다루는 공변(covariance)과 반공변(contravariance)에 대한 지원은 C# 4.0에서 추가했다.

13장, 대리자와 람다식
대리자는 코드 내에서 이벤트 처리를 위한 패턴을 정의하는 이전의 언어와 C#을 명확히 구별 짓기 시작했다. 이 관례는 사실상 폴링 루틴을 작성할 필요성을 없앴다. 람다 식은 C# 3.0의 LINQ를 가능하게 한 핵심 개념이다. 13장은 람다식이 더 우아하고 간결한 구문을 제공함으로써 대리자 구문을 만드는 방법을 설명한다. 13장은 다음에 설명하는 새로운 컬렉션 API의 토대가 된다.

14장, 이벤트
캡슐화된 대리자인 이벤트는 CLR(Common Language Runtime)의 핵심 구문이다. C# 2.0의 또 다른 기능인 익명 메서드도 여기서 설명한다.

15장, 컬렉션 인터페이스와 표준 쿼리 연산자
C# 3.0에서 소개된 간단하면서도 세련되고 강력한 변화는 새로운 Enumerable 클래스의 확장 메서드를 찾을 때 15장에서 큰 도움을 받을 수 있다. 이 클래스를 사용하면 표준 질의 연산자로 알려진 컬렉션 API를 사용할 수 있다. 여기서 이를 자세히 살펴본다.

16장, LINQ와 쿼리 식
표준 질의 연산자를 단독으로 사용하면 해독하기 곤란한 긴 구문이 나올 수 있다. 하지만 16장에서 설명하는 것처럼 질의 식은 SQL과 유사한 대체 구문을 제공한다.

17장, 사용자 지정 컬렉션 만들기
비즈니스 객체를 대상으로 동작하는 사용자 지정 API를 만드는 데 있어 사용자 지정 컬렉션을 만들어야 할 때가 있다. 17장은 이 컬렉션을 만드는 방법을 상세하게 다루며, 이 과정에서 사용자 지정 컬렉션을 더 쉽게 만드는 상황에 맞는 키워드를 소개한다.

18장, 리플렉션, 특성, 동적 프로그래밍
객체 지향 프로그래밍은 1980년대 후반의 프로그램 구조에서 패러다임이 변화하는 단초를 제공했다. 마찬가지 방식으로 특성은 선언형 프로그래밍과 메타데이터의 포함을 용이하게 해 새로운 패러다임을 안내했다. 18장은 특성을 살펴보고 리플렉션을 통해 이들 특성을 가져오는 방법을 설명한다. BCL(Base Class Library) 내에서 직렬화 프레임워크를 통해 수행하는 파일 입력과 출력도 다룬다. C# 4.0에서 새로운 키워드인 dynamic이 언어에 추가됐다. 이 키워드는 C#으로 할 수 있는 일의 중요한 확장으로 런타임 때까지 모든 형식 검사를 제거했다.

19장, 다중스레딩 소개
대부분의 현대 프로그램은 동시 이벤트에 능동적으로 응답을 제공하면서 오랫동안 돌아가는 작업을 실행하는 스레드의 사용을 필요로 한다. 프로그램이 더 복잡해짐에 따라 이들 고급 환경에서 데이터를 보호하기 위해 추가적인 예방 조치를 취해야 한다. 다중 스레드를 적용한 애플리케이션 프로그래밍은 복잡하다. 19장은 태스크(Task) 취소와 태스크 컨텍스트에서 예외 실행을 처리하는 방법을 포함해 태스크를 다루는 방법을 소개한다.

20장, 태스크 기반 비동기 패턴
async/await 구문을 수반하는 태스크 기반 비동기 패턴을 살펴본다. 이 패턴은 다중 스레드 프로그래밍에 상당히 단순화된 접근방식을 제공한다. 비동기 스트림의 C# 8.0 개념을 포함했다.

21장, 병렬 반복
성능을 개선하는 쉬운 방법 한 가지는 Parallel 객체나 병렬 LINQ 라이브러리를 사용해 데이터를 병렬로 반복하는 것이다.

22장, 스레드 동기화
앞 장에서 다룬 내용을 기반으로 다중스레드 코드의 명시적 제어를 단순화할 수 있는 내장 스레딩 패턴 지원에 관해 설명한다.

23장, 플랫폼 상호 운용성과 안전하지 않은 코드
C#은 비교적 젊은 언어이므로 C# 보다는 다른 언어로 작성된 코드가 상당히 많다. 이런 기본 코드의 이점을 누리기 위해 C#은 P/Invoke를 통해 비관리 코드와의 상호 운성을 지원한다. 게다가 C#은 포인터의 사용과 직접 메모리 조작을 지원한다. 포인터를 사용한 코드는 실행에 특수 권한을 필요로 하지만 전통적인 C 기반 애플리케이션 프로그래밍 인터페이스와 완전히 상호작용하는 강력함을 제공한다.

24장, 공용 언어 인프라(CLI)
근본적으로 C#은 기본 CLI 위에 가장 효과적인 프로그래밍 언어로 설계된 구문이다. 22장은 C# 프로그램이 기본 런타임과 런타임 명세와 어떤 관련이 있는지 깊이 살펴본다.

부록, C# 9.0의 새로운 기능
.NET 5에서 지원하기 시작한 C# 9.0의 새로운 기능과 개선 사항을 정리했다.

이 책이 여러분에게 C# 전문가로 가는 뛰어난 리소스가 되길 바란다.

추천사


소프트웨어 공학의 역사를 통틀어 컴퓨터 프로그램을 작성하는 데 사용된 방법론은 몇 번의 패러다임의 전환을 거치면서, 코드 구조를 향상시키고 복잡성을 줄여왔다. 이 책은 이러한 동일한 패러다임 전환을 따른다.
처음 몇 장에서는 구문이 작성된 순서대로 실행되는 순차 프로그래밍 구조(sequential programming structure)를 살펴본다. 이런 모델에 내포된 문제는 요구사항이 증가함에 따라 복잡성이 기하급수적으로 증가한다는 점이다. 이런 복잡성을 줄이려면 코드 블록을 메서드로 옮기는 ‘구조화된 프로그래밍 모델(structured programming model)’을 만들면 된다. 이 모델을 사용하면 프로그램 내의 여러 위치에서 코드 중복 없이 동일한 코드 블록을 호출할 수 있다. 하지만 이런 구조도 빠르게 커져가는 프로그램의 통제에 한계에 부딪혔고 추상화를 더 필요로 했다. 6장에서 설명한 객체 지향 프로그래밍은 이런 상황을 바로잡기 위해 등장했다. 이후의 장들에서 인터페이스 기반 프로그래밍과 LINQ(그리고 이를 컬렉션 API로 만든 변환), 특성을 통한 선언형 프로그래밍의 기본 형식(18장)과 같은 추가적인 방법론을 배운다.

C# 학습에 성공하려면 가능한 한 빨리 코드부터 작성해야 한다. 이론적으로 완전히 무장할 때까지 기다릴 필요가 없다. 바로 소프트웨어를 작성하는 것이 좋다. 반복 개발의 신봉자처럼, 나는 이 책을 읽으면서 입문자라도 2장의 끝에서는 기본 C# 코드 작성을 시작하길 바란다.
이 책에서 많은 주제를 다루지는 않는다. ASP.NET과 Entity Framework, 자마린(Xamrin), 스마트 클라이언트 개발, 분산 프로그래밍 등과 같은 주제는 다루지 않는다. 이들 주제가 .NET 프레임워크와 관련이 있지만 이들을 다루려면 각 주제별로 책 한 권이 따로 필요하기 때문에 C#과 기본 클래스 라이브러리 내의 형식에 초점을 맞춘다. 이 책을 읽으면 다른 시리즈에서 다루는 영역에서 전문성을 개발하는데 필요한 준비를 할 수 있을 것이다.

매드 토르거슨(Mads Torrgersen)(마이크로소프트 C# 책임 설계자)
C# 세계에서 가장 유명하고 신뢰할 수 있는 시리즈에 온 걸 환영합니다. 마크 미카엘리스(Mark Michaelis)의 『Essential C#』 시리즈는 고전으로 인정받아 왔지만, 내가 처음 마크를 만났을 때는 아직 빛을 보기 전이었습니다.
2005년에 LINQ(Language Integrated Query)가 세상에 나왔을 때 나는 막 마이크로소프트에 입사해 이 대규모 공개 행사인 마이크로소프트 프로페셔널 개발자 회의 Microsoft Professional Developers Conference에 따라온 참이었습니다. LINQ 기술에 기여한 바가 거의 없음에도 나는 LINQ 기술을 선전하는 일에 푹 빠졌습니다. 대화가 끊임없이 이어지는 동안 전단지는 날개 돋친 듯이 사라져 갔습니다. C# 및 .NET에 대한 정말 의미 있는 하루였으며, 잊을 수 없는 시간이었습니다.
실습 공간에 있던 사람들은 잘 작성된 실습 자료를 사용해 이 기술의 미리보기를 시험해 보려고 말이 없었습니다. 그곳에서 마크를 만났습니다. 짐작하겠지만 그는 제공된 실습 자료의 스크립트를 따르지 않았습니다. 그는 하고 싶은 방식대로 실습해 보면서 문서를 샅샅이 뒤지기도 하고 다른 사람과 이야기도 하며 열심히 자신의 그림을 모으고 있었습니다.
C# 커뮤니티에 갓 들어온 신입 회원처럼 나는 그 콘퍼런스에서 많은 사람을 만났고 좋은 관계를 맺었습니다. 그러나 솔직히 그때 만났던 사람들이 대부분은 희미하게 생각날 뿐입니다. 그중 기억하는 단 한 사람이 바로 마크입니다. 마크는 새로운 기술에 대해 다른 사람처럼 극찬하지 않았고, 아주 신중하게 “아직 잘 모르겠습니다. 이 기술에 확신이 서지 않습니다.”라고 말했습니다. 마크는 전체 패키지를 흡수하고 이해하기 원했고 그때까지는 이것이 어떻다고 누군가에게 얘기하지 않는 사람이었습니다.
수년 만에 처음으로 긍정의 찬사가 대신 기술에 대한 세부 내용, 결과, 염려에 관해 솔직하고 유익한 대화를 나눌 수 있었습니다. 그 이래로 마크는 우리 언어 설계자에게 탁월한 가치를 지닌 커뮤니티 멤버로 남아있는데, 그는 정말 똑똑하고 핵심에 대한 모든 것을 이해하기를 고집하며, 이런 기술이 실제 개발자에게 어떻게 영향을 끼치는지에 대한 놀라운 통찰력을 갖고 있습니다. 무엇보다도 그는 솔직하며 자신의 생각을 얘기하는 데 두려움이 없습니다. 어떤 것이 ‘마크 시험’을 통과하고 나면 시작이 좋다는 느낌을 갖게 됩니다.
이러한 재능이 마크를 훌륭한 저자로 만들었습니다. 마크는 본질에 집중하고 진실한 대화를 추구하며 실용적인 가치와 문제를 꿰뚫어 보는 눈을 가졌습니다. 또한 C#의 명료하게 설명하는 뛰어난 재주를 갖췄습니다. 누구도 마크가 한 것처럼 C# 8.0을 이해하는 데 도움을 주지는 못할 겁니다.
즐거운 시간이 되길 바랍니다!

목차

1장. C# 소개
Hello, World
C# 구문 기초
Main 메서드
변수 사용
콘솔 입력과 출력
관리되는 실행과 공용 언어 기반
여러 가지 .NET 프레임워크
요약

2장. 데이터 형식
기본 숫자 형식
더 알아야 할 기본 형식
데이터 형식 간의 변환
요약

3장. 고급 데이터 형식
형식 범주
null을 허용하는 형식 선언하기
튜플
배열
요약

4장. 연산자와 흐름 제어
연산자
코드 블록({})
코드 블록, 범위, 선언 공간
부울 식
프로그래밍에 null 사용하기
비트 단위 연산자(〈〈, 〉〉,., &, ^, ~)
흐름 제어 구문(계속)
점프문
C# 전처리 지시문
요약

5장. 메서드와 매개변수
메서드 호출
메서드 선언
using 지시문
Main()의 반환과 매개변수
메서드 매개변수 심화
선택적 매개변수
예외를 사용한 기본 에러 처리
요약

6장. 클래스
클래스 선언과 인스턴스 생성
인스턴스 필드
인스턴스 메서드
this 키워드 사용하기
액세스 한정자
속성
생성자
생성자가 있는 null 비허용 참조 형식 속성
null 허용 특성
분해자
정적 멤버
확장 메서드
데이터 캡슐화
중첩 클래스
부분 클래스
요약

7장. 상속
파생
기본 클래스 재정의
추상 클래스
System.Object에서 파생된 모든 클래스
is 연산자를 사용한 패턴 매칭
switch 문 내에서 패턴 매칭
다형성이 사용될 때 패턴 매칭 피하기
요약

8장. 인터페이스
인터페이스 소개
인터페이스를 통한 다형성
인터페이스 구현
클래스와 인터페이스 구현 간의 변환
다중 인터페이스 상속
인터페이스의 확장 메서드
버전 관리
인터페이스를 통한 다중 상속 구현
확장 메서드 vs. 기본 인터페이스 멤버
인터페이스와 추상 클래스의 비교
인터페이스와 특성 비교
요약

9장. 값 형식
구조체
박싱
열거형
요약

10장. 잘 구성된 형식
object 멤버 재정의
연산자 오버로딩
다른 어셈블리 참조하기
형식의 캡슐화
네임스페이스 정의
XML 주석
가비지 수집
리소스 정리
초기화 지연
요약

11장. 예외 처리
다중 예외 형식
예외 잡기
기존 예외 다시 던지기
일반 catch 블록
예외 처리를 위한 지침
사용자 지정 예외 정의하기
래핑한 예외 다시 던지기
요약

12장. 제네릭
제네릭 없는 C#
제네릭 형식 소개
제약 조건
제네릭 메서드
공변과 반공변
제네릭의 내부
요약

13장. 대리자와 람다 식
대리자 소개
대리자 형식의 선언
람다 식
문 람다
무명 메서드
대리자와 구조적 동등성
외부 변수
식 트리
요약

14장. 이벤트
멀티캐스트 대리자를 이용한 게시-구독 패턴 구현
이벤트
요약

15장. 컬렉션 인터페이스와 표준 질의 연산자
컬렉션 이니셜라이저
클래스를 컬렉션으로 만들어 주는 IEnumerable
표준 질의 연산자
무명 형식과 LINQ
요약

16장. LINQ와 질의 식
질의 식 소개
질의 식은 메서드 호출
요약

17장. 사용자 지정 컬렉션
기타 컬렉션 인터페이스
주요 컬렉션 클래스
인덱서 지원
null 혹은 빈 컬렉션의 반환
반복기
요약

18장. 리플렉션, 특성, 동적 프로그래밍
리플렉션
nameof 연산자
특성
동적 개체를 이용하는 프로그래밍
요약

19장. 다중 스레딩
다중 스레딩 기초
비동기 태스크
태스크 취소
System.Threading 이용하기
요약

20장. 태스크 기반 비동기 패턴
긴 대기 시간을 요구하는 작업의 동기적 호출
긴 대기 시간을 요구하는 작업의 비동기적 호출(TPL 이용)
async와 await을 이용한 태스크 기반의 비동기 패턴
비동기 ValueTask〈T〉 반환
비동기 스트림
IAsyncDisposable과 await using 이용
LINQ에서 IAsyncEnumerable 이용하기
void 반환 비동기 메서드
비동기 람다와 지역 함수
태스크 스케줄러와 동기화 콘텍스트
async/await과 윈도우 UI
요약

21장. 병렬 반복
루프 반복의 병렬 처리
요약

22장. 스레드 동기화
왜 동기화가 필요한가?
타이머
요약

23장. 플랫폼 상호 운용성과 안전하지 않은 코드
플랫폼 호출
포인터와 주소
대리자를 통한 안전하지 않은 코드 실행
요약

24장. 공용 언어 인프라
공용 언어 인프라의 정의
CLI 구현
닷넷 스탠더드
기본 클래스 라이브러리
C#에서 기계어로의 컴파일
런타임
어셈블리, 매니페스트, 모듈
공용 중간 언어
공용 형식 시스템
공용 언어 사양
메타데이터
닷넷 네이티브와 Ahead Of Time 컴파일
요약

본문중에서

◈ 옮긴이의 말 ◈

이 책은 지속적인 혁신과 변화를 거치는 과정에서도 변치 않는 C#의 가치와 핵심을 저자의 경험과 노하우에서 비롯한 잘 정리된 논리에 따라 차근차근 설명하며, 개정판을 거치면서 진화하는 C#의 주요 변경 사항을 적재적소에서 녹여 내고 있습니다. 다양한 매체를 이용해 자유롭게 찾아볼 수 있는 넘쳐나는 정보로 인해 혼란스럽기까지 한 시대에 이 책과 같은 인쇄물이 갖는 강점은 길을 잃지 않고 목표에 보다 잘 집중해 원하는 것 이상의 지식을 단단히 머릿속에 새길 수 있는 포장된 길을 제공하는 것입니다. 너무나 빠른 기술 발전 속도와 신기술 등장에 현혹돼 자칫 기본을 다지는 데 필요한 투자의 중요성을 놓치기 십상입니다만, 부디 이 책과 함께하는 분들은 적어도 C#에 한해서는 무한한 가능성을 펼칠 수 있는 누구보다 단단한 기반을 다지는 기회로 삼아 주셨으면 하는 바람입니다.
Essential C# 개정판을 몇 권에 걸쳐 번역하는 사이 C#은 이제 20대에 접어든 한창 에너지 넘치는 젊음을 떠올리는 시절을 맞이했고, 한편으로 역자처럼 C# 초기를 함께한 개발자들이 어느덧 중년을 넘어서고 있습니다. 최근 몇 년 동안 직접 코딩하기보다는 개발팀을 리딩하는 업무에 집중하고 있어, 코드를 쫓는 눈길이 예전처럼 빠르지 못하고 생각한 것을 코드로 옮기기까지 많은 대기시간을 요구하는 비동기적 사고방식에 젖어 있습니다. 하지만 개발의 즐거움과 창조의 매력에 빠져 본 사람이라면 누구나처럼 가슴 속에 꺼지지 않는 코딩에 대한 열정은 여전함을 느낍니다. 개정판을 번역하면서 조금은 식어 가던 열정을 다시 깨울 수 있었던 것은 반복되는 일상에서 얻기 힘든 가치 있는 경험이었습니다. 독자분들이 책을 보고 C#을 이해하고 제대로 사용할 수 있는 힘을 얻으실 수 있도록 노력했습니다만, 역자의 부족함으로 인해 저자의 의도를 정확히 짚지 못한 부분이 있을 수 있는 점 미리 너그러이 양해 부탁드립니다.

저자소개

마크 미카엘리스 [저] 신작알림 SMS신청
생년월일 -

혁신적인 소프트웨어 아키텍처와 개발 회사인 인텔리텍트(IntelliTect)의 창업자이며, 수석 기술 아키텍트와 트레이너로 활동한다. 전 세계를 누비며 리더십이나 기술에 관한 콘퍼런스 세션을 진행하고 마이크로소프트나 다른 클라이언트를 대신해 연사로 참여하면서 회사를 성공적으로 이끌고 있다. 그는 수많은 기사를 쓰고 여러 책을 집필했으며 이스턴 워싱턴 대학교(Eastern Washington University)의 부교수이자 스포캔(Spokane) .NET 사용자 그룹 창립자, 매년 열리는 TEDx 쿠르 달렌(Coeur d'Alene) 이벤트의 공동 주최자다. 세계적인 C# 전문가로 2007년부터 마

펼쳐보기
안철진 [역] 신작알림 SMS신청
생년월일 -

시뮬레이터 전문업체인 도담시스템스를 거쳐 현재는 KTDS에서 시스템 개발에 몸담고 있으며, GoDev 멤버로도 활동 중이다.

김도균 [역] 신작알림 SMS신청
생년월일 -

2012년 15년간의 조직 생활을 끝내고 스스로에게 자유를 준 독립 IT 기술자다. 2003년 처음으로 번역한 『Beginning Direct3D Game Programming』이 계기가 되어 지금까지 번역과 저술을 계속해왔고 40여 권의 책을 번역·집필했다. 번역·저술 공동체인 GoDev를 이끌고 있으며, 마이크로소프트웨어의 고정 칼럼니스트로 활동 중이다. 마이크로소프트의 공인 기술 전문가 어워드인 MVP를 6회 수상했다.

이 상품의 시리즈

(총 24권 / 현재구매 가능도서 24권)

선택한 상품 북카트담기
펼쳐보기

컴퓨터/인터넷 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    100자평

    작성시 유의사항

    평점
    0/100자
    등록하기

    100자평

    0.0
    (총 0건)

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주)KG이니시스 결제대금예치업 등록번호: 02-006-00013

    (주)인터파크커머스는 회원님들의 안전거래를 위해 구매금액, 결제수단에 상관없이 (주)인터파크커머스를 통한
    모든 거래에 대하여 (주)KG이니시스가 제공하는 구매안전서비스를 적용하고 있습니다.
    등록 여부는 e-금융민원센터 홈페이지(www.fcsc.kr)의 등록·신고>전자금융업등록현황 메뉴에서 확인하실 수 있습니다. 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시 15,000원 이상 무료배송, 15,000원 미만 2,500원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용