메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

이것이 C#이다(3판)

단계별 학습으로 탄탄한 기본기를 다져줄 C# 입문서

한빛미디어

집필서

판매중

  • 저자 : 박상현
  • 출간 : 2023-05-04
  • 페이지 : 792 쪽
  • ISBN : 9791169210928
  • eISBN : 9791169216777
  • 물류코드 :11092
  • 구판정보 :이 도서는 <이것이 C#이다(개정판)>의 개정판입니다. 구판 정보 보기
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4.9점 (10명)
좋아요 : 15

책소개

전문가로 레벨업! C# 프로그래밍 완전 정복

 

 

이 책은 C#의 기본, 고급 문법과 더불어 기초 클래스 라이브러리까지 다루고 있다. 총 22개 장으로, 앞서 배운 내용을 활용하면서 단계별로 학습할 수 있도록 구성했다. 입문자의 눈높이에 맞춰 친절하게 설명한 핵심 문법을 익히며 프로그래밍 동작 원리를 이해하고, 예제 코드로 실습을 진행하며 실력을 향상시킬 수 있다. 또한, [비타민 퀴즈]와 [연습문제]를 통해 배운 내용을 스스로 점검하고 부족한 부분을 보완할 수 있다.

 

 

『이것이 C#이다(3판)』으로 C# 프로그래밍의 기본기를 탄탄하게 다지고, 전문가로 성장해 보자!

저자소개

박상현 저자

박상현

반도체 공정 자동화, 통신 장비, 방공무기체계, 사이버 시큐리티, SaaS 분야에서 소프트웨어를 개발해왔으며, 현재 캘리포니아 소재 스타트업에서 소프트웨어 엔지니어로 일하고 있습니다.  

여가 시간에는 집필과 번역, 강의를 합니다.  대표 저서로 『이것이 C#이다(3판)』(2023), 『이것이 자료구조 + 알고리즘이다 with C 언어』(2022) , 『뇌를 자극하는 파이썬』(2016) 등이 있습니다.

 

목차

Chapter 01 | 프로그래밍을 시작합시다

1.1 프로그래밍 언어의 역사

__컴퓨터의 시작, 프로그래밍의 시작

__포트란의 탄생 

__초등학생도 프로그래밍할 수 있게 한 베이직 

__유닉스의, 유닉스에 의한, 유닉스를 위한 C

__C+1 == C++

__더 나은 세상을 위한 C#

1.2 C#의 기본 파일과 환경 설정

__프로그램을 이루는 소스 파일과 프로젝트

__비주얼 스튜디오 환경 설정

 

Chapter 02 | 처음 만드는 C# 프로그램

2.1 Hello, World!

2.2 첫 번째 프로그램 뜯어보기

__using System;

__using static System.Console; 

__namespace Hello { } 

__class MainApp { }

__// 프로그램 실행이 시작되는 곳 

__static void Main(string[ ] args) { } 

__if(args.Length == 0) { } 

2.3 CLR에 대하여 

[연습문제] 

 

Chapter 03 | 데이터 보관하기

3.1 다양한 데이터의 종류 

3.2 변수 

3.3 값 형식과 참조 형식 

__스택과 값 형식 

__힙과 참조 형식 

3.4 기본 데이터 형식 

__숫자 데이터 형식 

[Vitamin Quiz 3-1] 

[Vitamin Quiz 3-2]

__부동 소수점 형식 

__문자 형식과 문자열 형식 

[Vitamin Quiz 3-3] 

__논리 형식 

__object 형식 

__박싱과 언박싱 

__데이터 형식 바꾸기 

3.5 상수와 열거 형식 

__상수: 전 언제나 변하지 않을 거예요 

__열거 형식: 여러 개의 상수를 정리해요 

3.6 Nullable 형식 

3.7 var: 데이터 형식을 알아서 파악하는 똑똑한 C# 컴파일러 

3.8 공용 형식 시스템 

3.9 문자열 다루기 

__문자열 안에서 찾기 

__문자열 변형하기 

__문자열 분할하기 

__문자열 서식 맞추기 

[연습문제] 

 

Chapter 04 | 데이터를 가공하는 연산자

4.1 C#에서 제공하는 연산자 둘러보기 

4.2 산술 연산자 

4.3 증가 연산자와 감소 연산자 

4.4 문자열 결합 연산자 

4.5 관계 연산자 

4.6 논리 연산자 

4.7 조건 연산자 

4.8 null 조건부 연산자 

4.9 비트 연산자 

__시프트 연산자 

__비트 논리 연산자 

4.10 할당 연산자 

4.11 null 병합 연산자 

4.12 연산자의 우선순위 

[연습문제] 

 

Chapter 05 | 코드의 흐름 제어하기

5.1 분기문 

__if, else, else if 

__if 문 중첩해서 사용하기 

__switch 문 

__switch 식 

5.2 반복문 

__while 

__do while 

__for 

__중첩 for 

__foreach 

__for 또는 while을 이용한 무한 반복 코드 

5.3 점프문 

__break 

__continue 

__goto 

5.4 패턴 매칭 

__선언 패턴 

__형식 패턴 

__상수 패턴 

__프로퍼티 패턴 

[Vitamin Quiz 5-1] 

__관계 패턴 

__논리 패턴 

__괄호 패턴 

__위치 패턴 

__var 패턴 

__무시 패턴 

__목록 패턴 

[연습문제] 

 

Chapter 06 | 메소드로 코드 간추리기

6.1 메소드란? 

6.2 return에 대하여 

6.3 매개변수에 대하여 

6.4 참조에 의한 매개변수 전달 

6.5 메소드의 결과를 참조로 반환하기 

6.6 출력 전용 매개변수 

6.7 메소드 오버로딩 

6.8 가변 개수의 인수 

6.9 명명된 인수 

6.10 선택적 인수 

6.11 로컬 함수 

[연습문제] 

 

Chapter 07 | 클래스

7.1 객체지향 프로그래밍과 클래스 

[Vitamin Quiz 7-1] 

7.2 클래스의 선언과 객체의 생성 

7.3 객체의 삶과 죽음에 대하여: 생성자와 종료자 

__생성자 

__종료자 

7.4 정적 필드와 메소드 

7.5 객체 복사하기: 얕은 복사와 깊은 복사 

7.6 this 키워드 

__나 

__this( ) 생성자 

7.7 접근 한정자로 공개 수준 결정하기 

7.8 상속으로 코드 재활용하기 

7.9 기반 클래스와 파생 클래스 사이의 형식 변환 

7.10 오버라이딩과 다형성 

7.11 메소드 숨기기 

7.12 오버라이딩 봉인하기 

7.13 읽기 전용 필드 

7.14 중첩 클래스 

7.15 분할 클래스 

7.16 확장 메소드 

[Vitamin Quiz 7-2] 

7.17 구조체 

7.18 튜플 

[연습문제] 

 

Chapter 08 | 인터페이스와 추상 클래스

8.1 인터페이스의 선언 

8.2 인터페이스는 약속이다 

[Vitamin Quiz 8-1] 

8.3 인터페이스를 상속하는 인터페이스 

8.4 여러 인터페이스, 한꺼번에 상속하기 

[Vitamin Quiz 8-2] 

8.5 인터페이스의 기본 구현 메소드 

8.6 추상 클래스: 인터페이스와 클래스 사이 

[연습문제] 

 

Chapter 09 | 프로퍼티

9.1 public 필드의 유혹 

9.2 메소드보다 프로퍼티 

9.3 자동 구현 프로퍼티 

__자동 구현 프로퍼티 뒤에서 일어나는 일 

9.4 프로퍼티와 생성자 

9.5 초기화 전용 자동 구현 프로퍼티 

9.6 프로퍼티 초기화를 강제하는 required 키워드 

9.7 레코드 형식으로 만드는 불변 객체 

__레코드 선언하기 

__with를 이용한 레코드 복사 

__레코드 객체 비교하기 

9.8 무명 형식 

9.9 인터페이스의 프로퍼티 

9.10 추상 클래스의 프로퍼티 

[연습문제] 

 

Chapter 10 | 배열과 컬렉션 그리고 인덱서

10.1 All for one, one for all 

10.2 배열을 초기화하는 세 가지 방법 

10.3 알아두면 삶이 윤택해지는 System.Array 

10.4 배열 분할하기 

10.5 2차원 배열 

[Vitamin Quiz 10-1] 

[Vitamin Quiz 10-2] 

10.6 다차원 배열 

10.7 가변 배열 

10.8 컬렉션 맛보기 

__ArrayList 

__Queue 

__Stack

__Hashtable 

10.9 컬렉션을 초기화하는 방법 

10.10 인덱서 

10.11 foreach가 가능한 객체 만들기 

[연습문제] 

 

Chapter 11 | 일반화 프로그래밍

11.1 일반화 프로그래밍이란? 

11.2 일반화 메소드 

11.3 일반화 클래스 

11.4 형식 매개변수 제약시키기

[Vitamin Quiz 11-1] 

11.5 일반화 컬렉션 

__List<T> 

__Queue<T> 

__Stack<T> 

__Dictionary<TKey, TValue> 

11.6 foreach를 사용할 수 있는 일반화 클래스 

[연습문제] 

 

Chapter 12 | 예외 처리하기

12.1 예외에 대하여 

12.2 try~catch로 예외 받기 

12.3 System.Exception 클래스 

12.4 예외 던지기 

12.5 try~catch와 finally

12.6 사용자 정의 예외 클래스 만들기 

12.7 예외 필터하기 

12.8 예외 처리 다시 생각해보기 

[연습문제] 

 

Chapter 13 | 대리자와 이벤트

13.1 대리자란? 

13.2 대리자는 왜, 언제 사용하나요? 

13.3 일반화 대리자 

13.4 대리자 체인 

13.5 익명 메소드 

13.6 이벤트: 객체에 일어난 사건 알리기 

13.7 대리자와 이벤트 

[연습문제] 

 

Chapter 14 | 람다식

14.1 람다식, 너는 어디에서 왔니? 

14.2 처음 만나는 람다식 

14.3 문 형식의 람다식 

14.4 Func와 Action으로 더 간편하게 무명 함수 만들기 

__Func 대리자 

__Action 대리자 

14.5 식 트리 

14.6 식으로 이루어지는 멤버 

[연습문제] 

 

Chapter 15 | LINQ

15.1 데이터! 데이터! 데이터! 

15.2 LINQ의 기본 

__from 

__where 

__orderby 

__select 

15.3 여러 개의 데이터 원본에 질의하기 

15.4 group by로 데이터 분류하기 

15.5 두 데이터 원본을 연결하는 join 

__내부 조인 

__외부 조인 

15.6 LINQ의 비밀과 LINQ 표준 연산자 

[연습문제] 

 

Chapter 16 | 리플렉션과 애트리뷰트

16.1 리플렉션 

__Object.GetType( ) 메소드와 Type 클래스 

[Vitamin Quiz 16-1] 

__리플렉션을 이용해서 객체 생성하기 

__형식 내보내기 

16.2 애트리뷰트 

__애트리뷰트 사용하기 

__호출자 정보 애트리뷰트 

__내가 만드는 애트리뷰트 

[연습문제]

 

Chapter 17 | dynamic 형식

17.1 dynamic 형식 소개 

__덕 타이핑 

17.2 COM과 .NET 사이의 상호 운용성을 위한 dynamic 형식 

17.3 동적 언어와의 상호 운용성을 위한 dynamic 형식 

 

Chapter 18 | 파일 다루기

18.1 파일 정보와 디렉터리 정보 다루기 

__예제 프로그램: 디렉터리/파일 정보 조회하기 

__예제 프로그램: 디렉터리/파일 생성하기 

18.2 파일을 읽고 쓰기 위해 알아야 할 것들 

__System.IO.Stream 클래스 

[Vitamin Quiz 18-1] 

18.3 실수를 줄여주는 using 선언 

18.4 이진 데이터 처리를 위한 BinaryWriter/BinaryReader 

[Vitamin Quiz 18-2] 

18.5 텍스트 파일 처리를 위한 StreamWriter/StreamReader 

18.6 객체 직렬화하기 

[Vitamin Quiz 18-3] 

 

Chapter 19 | 스레드와 태스크

19.1 프로세스와 스레드

__스레드 시작하기 

__스레드 임의로 종료하기 

__스레드의 일생과 상태 변화

__인터럽트: 스레드를 임의로 종료하는 다른 방법 

__스레드 간 동기화 

[Vitamin Quiz 19-1] 

[Vitamin Quiz 19-2] 

19.2 Task와 Task<TResult> 그리고 Parallel

__System.Threading.Tasks.Task 클래스

__코드의 비동기 실행 결과를 주는 Task<TResult> 클래스 

__손쉬운 병렬 처리를 가능케 하는 Parallel 클래스 

19.3 async 한정자와 await 연산자로 만드는 비동기 코드 

__.NET이 제공하는 비동기 API 맛보기 

 

Chapter 20 | WinForm으로 만드는 사용자 인터페이스

20.1 도대체 무슨 일이 일어나고 있는 것일까?

20.2 C# 코드로 WinForm 윈도우 만들기 

20.3 Application 클래스

__메시지 필터링 

20.4 윈도우를 표현하는 Form 클래스 

__Form에 정의된 이벤트와 이벤트 처리기 연결하기 

__Form의 프로퍼티를 조절하여 윈도우 모양 바꾸기 

__Form 위에 컨트롤 올리기 

20.5 폼 디자이너를 이용한 WinForm UI 구성

__새 프로젝트 만들기

__Form 

__GroupBox, Label, ComboBox, CheckBox, TextBox

__TrackBar, ProgressBar 

__Button, Form, Dialog 

__TreeView, ListView 

20.6 사용자 인터페이스와 비동기 작업 

__새 프로젝트 만들기

__CopySync( )/CopyAsync( ) 메소드 구현하기

__UI 구성하기

 

Chapter 21 | 네트워크 프로그래밍

21.1 네트워크 프로그래밍에 앞서 알아둬야 할 기초

__인터넷의 유래

__TCP/IP 스택

__TCP/IP의 주소 체계: IP 주소

__포트 

__TCP/IP의 동작 과정

21.2 TcpListener와 TcpClient

21.3 흐르는 패킷 

21.4 프로토콜 설계와 네트워크 애플리케이션 프로그래밍 예제 

__파일 업로드 프로토콜 

__파일 업로드 서버와 클라이언트 구현하기 

__서버/클라이언트가 같이 사용할 클래스 라이브러리 만들기 

__파일 업로드 서버 구현하기 

__클라이언트 구현하기

__파일 업로드 시험하기 

 

Chapter 22 | 가비지 컬렉션

22.1 가비지 컬렉터를 아시나요? 

22.2 개처럼 할당하고 정승처럼 수거하라 

22.3 세대별 가비지 컬렉션 

22.4 가비지 컬렉션을 이해했습니다. 우리는 뭘 해야 하죠? 

__객체를 너무 많이 할당하지 마세요 

__너무 큰 객체 할당을 피하세요 

__너무 복잡한 참조 관계는 만들지 마세요 

__루트를 너무 많이 만들지 마세요 

__작은 구멍이 댐을 무너뜨립니다 

출판사리뷰

『이것이 C#이다(3판)』과 함께 프로그래밍의 세계로 떠나봅시다! 

 

 

C#은 엔지니어의 생산성과 표현력을 향상시키는 방향을 유지하면서 꾸준히 여러 문법을 추가해 왔습니다. 언어의 발전과 더불어 .NET 생태계도 긍정적인 확장을 이뤘습니다. 기계 제어부터 웹, 클라우드, 게이밍, AI에 이르기까지 다양한 산업에서 사용하고, 윈도우뿐 아니라 맥OS와 리눅스에서도 개발과 배포가 가능해진 지 꽤 오랜 시간이 지났습니다. C#을 사용하는 전 세계의 개발자도 계속 늘었고요. 『이것이 C#이다(3판)』을 통해 이렇게 멋진 C#의 세계에 빠져봅시다.

 

1장부터 10장까지는 기본 문법을 다루고 있어 쉽게 소화할 수 있는 내용입니다. 11장부터 17장까지는 앞에서 축적한 지식을 이용해 익힐 수 있는 고급 문법을 다루며, 18장부터 22장까지는 .NET 클래스 라이브러리의 활용을 다룹니다. 이 책이 여러분에게 친절한 가이드가 되기를 바랍니다.

 

이 책이 필요한 독자

- 기초 문법부터 차근차근 C#을 배우고 싶다.

- 신규 프로젝트 때문에 C#을 공부해야 한다.

- 게임을 만들고 싶어 C#을 배우려고 한다.

 

이 책에서 다루는 내용

- C# 프로그래밍을 위한 기초 문법

- 객체지향 프로그래밍 소개

- 프로그래머의 생산성을 높여줄 고급 문법

 

- .NET 프레임워크 활용 방법과 메모리 관리 방법

독자리뷰

오탈자 보기

부록/예제소스

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
이것이 C#이다(3판)
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
이것이 C#이다(3판)
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
이것이 C#이다(3판)
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?