Top

처음 배우는 C# [초보자를 위한 입문 가이드]

  • 원서명C#: A Beginner's Tutorial (ISBN 9780980839630)
  • 지은이제이든 카이(Jayden Ky)
  • 옮긴이김도균
  • ISBN : 9788960776944
  • 25,000원
  • 2015년 03월 31일 펴냄
  • 페이퍼백 | 352쪽 | 188*235mm
  • 시리즈 : 프로그래밍 언어

책 소개

요약

이 책은 처음 C# .NET 프레임워크 프로그래밍 세계에 발을 들이는 사람이 어렵게 느낄 수 있는 주제를 기본과 핵심에 충실해 쉽게 다룬다. C# 프로그래밍과 관련된 포괄적인 주제를 이해하기 쉬운 적절한 깊이로 설명하므로 모든 장을 완전히 이해하면, 중급 C# 프로그래머로 가는 길이 열릴 것이다. 이 책에서는 전문 C# 프로그래머가 능숙해야 하는 C# 프로그래밍 언어, C#을 사용한 개체 지향 프로그래밍(OOP), .NET 프레임워크 클래스 라이브러리를 주제로 설명한다.

이 책에서 다루는 내용

■ C# 언어 문법
■ 개체 지향 프로그래밍
■ 컬렉션
■ 숫자와 날짜 사용
■ 에러 처리
■ 입력과 출력
■ 데이터베이스 액세스
■ WPF(Windows Presentation Foundation)
■ 박싱과 언박싱

이 책의 대상 독자

C#은 성숙한 프로그래밍 언어로서 배우기도 쉽다. 또한, C#은 초보자들이 어디서 시작해야 할지 자주 물어보는 아주 다양한 기술의 방대한 컬렉션인 .NET 프레임워크의 일부이기도 하다. 여러분이 이러한 부류 중 한 명이라면, 입문자를 위한 튜토리얼로 구성된 이 책에 매우 만족할 것이다.

이 책의 구성

1장, ‘처음 맛보는 C#’에서는 C#으로 작업하는 감을 잡는다. 여기서는 간단한 C# 프로그램을 작성하고 csc 도구를 사용해 컴파일해서 실행하는 내용을 다룬다. 또한, 코드 규칙과 통합 개발 환경을 사용할 때의 몇 가지 조언도 제공한다.

2장, ‘언어 기본’에서는 C# 언어 문법을 배운다. 문자 집합과 기본 형식, 변수, 연산자 등을 소개한다.

3장, ‘구문’에서는 for와 while, do-while, if, if-else, switch, break, continue와 같은 C# 구문을 설명한다.

4장, ‘개체와 클래스’에서는 이 책의 첫 번째 OOP 학습을 제공한다. C# 개체가 무엇이고 메모리에 어떻게 저장되는지 설명하면서 시작한다. 그다음 계속해서 클래스와 클래스 멤버, 2개의 OOP 개념(추상화와 캡슐화)을 설명한다.

5장, ‘핵심 클래스’에서는 .NET 프레임워크 클래스 라이브러리의 중요한 클래스인 System.Object와 System.String, System.Text.StringBuilder, System.Console을 다룬다. 박싱/언박싱과 배열도 배운다. 5장에서 설명하는 클래스는 .NET 프레임워크에서 가장 흔히 사용되는 클래스의 일부이기 때문에 중요하다.

6장, ‘상속’에서는 코드를 확장할 수 있는 OOP 기능을 설명한다. 이 장에서는 클래스를 확장하는 방법과 서브클래스의 가시성에 영향을 끼치는 방법, 메소드를 재정의하는 방법 등을 배운다.

7장, ‘구조체’에서는 CTS의 두 번째 형식을 설명한다. 참조 형식과 값 형식 간의 차이점을 주목하고 .NET 프레임워크 클래스 라이브러리에서 자주 사용되는 몇 가지 구조체에 관해 설명한다. 6장은 자신만의 구조체를 작성하는 방법도 배운다.

의심의 여지없이, 에러 처리는 모든 프로그래밍 언어의 매우 중요한 기능이다. 성숙한 언어로서 C#은 기능 추가로 인한 버그를 방지하는 데 도움을 주는 매우 견고한 에러 처리 메커니즘을 제공한다. 8장, ‘에러 처리’는 이 메커니즘을 자세히 설명한다.

9장, ‘숫자와 날짜’에서는 숫자와 날짜를 사용할 때 세 가지 문제인 구문 분석과 서식 적용, 조작을 다룬다. 9장에서는 이들 작업에 도움을 주는 .NET 형식을 소개한다.

10장, ‘인터페이스와 추상 클래스’에서는 인터페이스가 구현이 없는 클래스 이상인 이유를 설명한다. 인터페이스에서는 서비스 공급자와 클라이언트 사이의 계약을 정의한다. 이 장에서는 인터페이스와 추상 클래스를 사용해 작업하는 방법을 설명한다.

11장, ‘열거형’에서는 열거형을 선언하는 enum 키워드를 사용하는 방법을 설명한다. 이 장에서는 C# 프로그램에서 열거형을 사용하는 방법도 다룬다.

12장, ‘제네릭’에서는 제네릭에 관해 설명한다.

13장, ‘컬렉션’에서는 System.Collections.Generic 네임스페이스의 멤버를 사용해 개체를 그룹으로 나누고 이들을 조작하는 방법을 설명한다.

14장, ‘입력/출력’에서는 스트림의 개념을 소개하고 스트림을 사용해 입력-출력 작업을 수행하는 방법을 설명한다.

15장, ‘WPF’에서는 보기 좋은 사용자 인터페이스와 사용하기 쉬운 컨트롤로 데스크톱 애플리케이션을 작성하는 것을 배우는 단원으로, 독자의 구미가 당길 것이다.

다형성은 OOP의 주요 기둥 중 하나다. 이 기능은 개체의 형식을 컴파일 타임에 알지 못하는 상황에서 상당히 유용하다. 16장, ‘다형성’에서는 이 기능을 설명하고 유용한 예제를 다룬다.

데이터베이스를 액세스하고 데이터를 조작하는 일은 비즈니스 애플리케이션에서 가장 중요한 작업 중 일부다. 많은 데이터베이스 서버가 있으며 서로 다른 데이터베이스를 액세스하는 일에는 특별한 스킬이 필요하다. 17장, ‘ADO.NET’에서는 데이터베이스를 액세스하고 데이터베이스의 관계형 데이터를 조작하는 방법을 설명한다.

부록 A, ‘Visual Studio Express 2013 for Windows Desktop’에서는 코드를 더 효과적으로 만드는 데 도움을 주는 무료 통합 개발 환경(IDE)에 대해 설명한다. 이 도구는 윈도우7과 윈도우8, 윈도우8.1에서 돌아가므로 적극적으로 사용하도록 고려하자. 오래된 윈도우 버전을 사용한다면, 부록 B, ‘Visual C# 2010 Express’에서 설명한 Visual C# 2010을 IDE로 선택하자.

마지막으로, 부록 C, ‘SQL Server 2014 Express’에서는 이 무료 소프트웨어를 설치하고 데이터베이스를 생성하는 방법을 설명한다.

저자/역자 소개

저자 서문

『처음 배우는 C#』을 선택한 여러분을 환영한다.

C#은 성숙한 프로그래밍 언어로서 배우기도 쉽다. 또한, C#은 초보자들이 어디서 시작해야 할지 자주 물어보는 아주 다양한 기술의 방대한 컬렉션인 .NET 프레임워크의 일부이기도 하다. 여러분이 이러한 부류 중 한 명이라면, 입문자를 위한 튜토리얼로 구성된 이 책에 매우 만족할 것이다.

초보자용 튜토리얼인 이 책은 .NET 프레임워크의 모든 기술을 가르치지 않는다. 그보다는 스스로가 다른 기술을 배울 수 있도록 익혀야 하는 가장 중요한 C#과 .NET 프레임워크 프로그래밍 주제를 다룬다. 그렇더라도 이 책은 포괄적인 내용을 다루므로 모든 장을 완전히 이해하면, 중급 C# 프로그래머로서 매일의 작업을 잘 수행할 수 있게 된다.

이 책에서는 전문 C# 프로그래머가 능숙해야 하는 세 가지 주제를 모두 다룬다.

  • C# 프로그래밍 언어
  • C#을 사용한 개체 지향 프로그래밍(OOP)
  • .NET 프레임워크 클래스 라이브러리

효과적인 C# 과정의 구성을 어렵게 만드는 것은 이 세 가지 주제가 상호의존적이라는 사실이다. 한편으로 C#은 OOP 언어이므로, 이 언어의 문법은 이미 OOP에 관해 알고 있는 경우 더 배우기 쉽다. 상속과 다형성, 데이터 캡슐화와 같은 OOP 기능은 실세계 예제를 제시하는 경우 가장 잘 배울 수 있다. 안타깝게도 실세계 C# 프로그램의 이해에는 .NET 프레임워크 클래스 라이브러리의 지식이 필요하다.

이런 상호의존성 때문에, 이 세 가지 주요 주제는 3개의 별도 파트로 묶기가 다소 곤란하다. 대신에, 주요 주제를 논의하는 장과 또 다른 주제를 가르치는 장을 서로 짜 맞춘다. 예를 들면, 이 책에서는 다형성을 설명하기 전에 필요한 .NET 프레임워크 클래스에 먼저 익숙하게 만들어 실세계 예제를 다형성 챕터에서 설명하는 방식으로 전개한다. 게다가 제네릭과 같은 언어 기능은 일정한 클래스의 집합을 이해하지 않고는 효과적으로 설명할 수 없기 때문에, 지원 클래스를 설명한 뒤에 제네릭을 다룬다.

상황에 따라 어떤 주제는 두 군데 이상에서 나오기도 한다. 이를테면, for와 while을 사용하는 반복문은 앞 장에서 다뤄야 하는 기본 언어 기능이다. 하지만 배열이나 foreach를 사용한 컬렉션에 대한 반복 처리는 배열과 컬렉션 형식을 배운 후에야 나올 수 있다. 따라서 반복문은 3장, ‘구문’에서 제일 먼저 나오고, 그다음 5장, ‘핵심 클래스’에서 배열을 설명할 때와 13장 ‘컬렉션’을 설명할 때 다시 한 번 다룬다.

이 소개의 나머지는 .NET 프레임워크의 전반적인 개요와 OOP 소개, 각 장에 대한 간단한 설명, .NET 프레임워크 설치 단계를 설명한다.

저자 소개

제이든 카이(Jayden Ky)

간결하고 명료하게 글을 쓰는 것으로 유명하다. .NET 컨설턴트이며 7년 넘게 C#을 비롯한 .NET 언어로 프로그래밍 해왔다.

옮긴이의 말

이 책의 번역을 의뢰받고 처음 살펴봤을 때 가벼운 사이즈와 알찬 목차 구성이 매우 인상적이었습니다. 개발자로서 처음 C#이라는 언어에 한발 내딛는 사람이나, IT 프로(Pro) 영역에 속하는 일을 하면서 최근 부상하는 데브옵스(DevOps) 역량을 갖추고자 하는 사람, 과거 약간의 프로그래밍 공부를 해봤던 아련한 추억을 바탕으로 이제 다시 마음을 잡고 프로그래밍을 시도하는 사람들 모두가 비교적 쉽게 독파해볼 수 있는 책입니다.

이 책은 단순히 C# 언어 문법에만 초점을 맞춘 것이 아니라 .NET 프레임워크와 ADO.NET, WPF, SQL Express 등에 대한 기초도 함께 제공하면서, 학습 곡선이 비교적 낮은 덕분에 초보자가 빠르게 .NET 프로그래밍 전반을 맛보기에 좋습니다. C#과 .NET에 대해 꼭 알고 있어야 하는 주제를 중심으로 다루면서 개체 지향 프로그래밍 같은 처음 C# 프로그래밍 세계에 발을 들이는 사람이 어렵게 느낄 수 있는 주제를 가볍게 터치하고 있습니다.

C#이라는 언어 자체로만 보면, 최근 들어 C#은 범용 모바일 게임 개발에 많이 사용되는 유니티(Unity)나 코코스2D(Cocos2D) 등에 사용되면서 사용자가 많이 늘었습니다. 눈을 해외로 돌려보면, 10대 프로그래밍 언어에서 상위에 올라 있는 언어이기도 합니다. C# 개발에 입문하면서 마이크로소프트의 Visual Studio를 사용해보면, 개발 도구와 언어의 환상적인 궁합이 어떤 것인지 맛보게 됩니다. 이 책이 처음 C#을 접하는 많은 이들에게 등산로 초입의 안내소와 같은 역할을 해줄 수 있다면, 이 책의 목적은 충분히 다했다고 생각합니다.

이 책을 학습하고 좀 더 고급 주제에 대한 학습 욕구가 생긴다면, 에이콘출판사에서 나온 『Essential C# 5.0 한국어판』(2012)을 읽어보길 바랍니다.

옮긴이 소개

김도균

‘강철벼룩’이라는 필명으로 활동하며 글 쓰는 엔지니어다. 마이크로소프트 공인강사(MCT)이자 MVP이며 월간 마이크로소프트웨어의 칼럼니스트이기도 하다. 창의성과 상상력의 불꽃이 튀는 해적들이 모인 기술 콘텐츠 저술 및 번역 공동체인 GoDev(www.godev.kr)의 선장으로 절망의 시대를 함께 건너고 있다.

목차

목차
  • 1장 처음 맛보는 C#
  • 첫 번째 C# 프로그램
  • C# 코드 규칙
  • 요약

  • 2장 언어 기본
  • ASCII와 유니코드
  • 내장 형식과 공용 형식 시스템
  • 변수
  • 상수
  • 리터럴
  • 기본 형식 변환
  • 연산자
  • 주석
  • 요약

  • 3장 구문
  • C# 구문 개요
  • if문
  • while문
  • do-while문
  • for문
  • break문
  • continue문
  • switch문
  • 요약

  • 4장 개체와 클래스
  • C#에서 개체란?
  • C# 클래스
  • 개체 생성
  • null 키워드
  • 메모리상의 개체
  • C# 네임스페이스
  • 캡슐화와 클래스 액세스 제어
  • this 키워드
  • 다른 클래스 사용
  • 정적 멤버
  • 변수 범위
  • 메소드 오버로딩
  • 요약

  • 5장 핵심 클래스
  • System.Object
  • System.String
  • System.Text.StringBuilder
  • 배열
  • System.Console
  • 요약

  • 6장 상속
  • 상속 개요
  • 접근성
  • 구성 요소 재정의
  • 기본 클래스의 생성자 호출
  • 기본 클래스의 숨겨진 멤버 호출
  • 형변환
  • 봉인 클래스
  • is 키워드
  • 요약

  • 7장 구조체
  • 구조체 개요
  • .NET 구조체
  • 구조체 작성
  • 널 허용 형식
  • 요약

  • 8장 에러 처리
  • 예외 잡기
  • catch 없는 try와 using문
  • System.Exception 클래스
  • 메소드에서 예외 발생시키기
  • 예외 처리의 마지막 정리
  • 요약

  • 9장 숫자와 날짜
  • 숫자 구문 분석
  • 숫자 서식
  • System.Math 클래스
  • 날짜와 시간 사용
  • 요약

  • 10장 인터페이스와 추상 클래스
  • 인터페이스의 개념
  • 인터페이스의 기술적 관점
  • System.IComparable 구현
  • 추상 클래스
  • 요약

  • 11장 열거형
  • 열거형 개요
  • 클래스의 열거형
  • 열거형과 switch문
  • 요약

  • 12장 제네릭
  • 왜 제네릭인가?
  • 제네릭 형식 소개
  • 제약 조건 적용
  • 제네릭 형식 작성
  • 요약

  • 13장 컬렉션
  • 개요
  • List 클래스
  • 중요한 메소드 몇 가지
  • HashSet 클래스
  • Queue 클래스
  • Dictionary 클래스
  • Dictionary 예제
  • 요약

  • 14장 입력/출력
  • 파일과 디렉터리 처리
  • 디렉터리 생성과 삭제
  • 입력/출력 스트림
  • 텍스트(문자) 읽기
  • 텍스트(문자) 쓰기
  • 이진 데이터 읽고 쓰기
  • 요약

  • 15장 WPF
  • 개요
  • 애플리케이션과 윈도우
  • WPF 컨트롤
  • 패널과 레이아웃
  • 이벤트 처리
  • XAML
  • 요약

  • 16장 다형성
  • 다형성 정의
  • 다형성의 동작
  • 드로잉 애플리케이션의 다형성
  • 요약

  • 17장 ADO.NET
  • ADO.NET 소개
  • 데이터 액세스의 5단계
  • SQL 서버 연결 예제
  • 요약

  • 부록 A Visual Studio Express 2013 for Windows Desktop
  • 부록 B Visual C# 2010 Express
  • 부록 C SQL Server 2014 Express

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안