장바구니 담기 close

장바구니에 상품을 담았습니다.

C# 교과서

C# 교과서

  • 박용준
  • |
  • 길벗
  • |
  • 2020-05-30 출간
  • |
  • 844페이지
  • |
  • 183 X 235 X 34 mm
  • |
  • ISBN 9791165211615
판매가

30,000원

즉시할인가

27,000

카드할인

0원(즉시할인 0%)

적립금

1,500원 적립(5%적립)

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
27,000

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




기초에서 활용, 확장 기능까지
빠짐없이 학습하고 막힘없이 이해한다!

입문자에게 딱 맞는 구성으로 배우자
C#은 방대하다. 처음부터 모든 것을 배워야 한다면 시작하기도 전에 지칠 것이다. 입문자에게 필요한 내용을 빠짐없이 배우되 중요한 내용은 좀 더 깊이 있게 학습하고, 지금 당장 많이 사용하지 않는 내용은 간단히 개념만 알고 넘어가는 것이 학습 부담을 최소화할 수 있는 방법이다. Microsoft MVP이자 C#을 20년 이상 사용하고 강의해온 저자의 경험을 바탕으로 입문자에게 필요한 내용을 선별해 담았다. 놓치는 내용 없이 살펴보고, 자주 사용하는 중요한 개념은 집중해서 학습하자.

다음으로 나아갈 수 있는 힘을 기르자
C#은 윈도, 웹, 클라우드, 모바일, 게임(유니티), IoT 등 많은 분야에서 활용된다. 이때 필요한 건 얼마나 많이 아는지보다 얼마나 제대로 아는지 여부일 것이다. 도해 100개로 동작 원리를 이해하고, 600개가 넘는 코드 조각과 예제로 반복하여 실습하면서 기본기를 탄탄하게 다질 수 있다.

최신 버전으로 배우자
C#은 마이크로소프트에서 개발한 개체 지향 프로그래밍 언어로, 1.0 버전부터 8.0 버전까지 오랜 기간 발전해왔다. 5.0 버전까지는 버전마다 변화가 많았지만, 6.0 버전부터는 작지만 개발자에게 도움이 되는 기능을 추가하는 방식으로 업데이트되고 있다. C#이 처음이라면 최신 버전으로 시작하자.


목차


1부 C# 준비
01 C# 프로그래밍 언어 이해하기
__1.1 프로그래밍 언어 알아보기
__1.2 C# 소개하기
__1.3 닷넷 생태계
__1.4 책에서 다루는 범위
02 C# 개발 환경 구축하기: 비주얼 스튜디오 설치
__2.1 비주얼 스튜디오 2019 커뮤니티
__2.2 비주얼 스튜디오 2019 커뮤니티 설치하기
03 첫 C# 프로그램 작성하기
__3.1 Hello World 프로그램
__3.2 C#의 기본 코드 구조
04 C# 기본 문법 이해하기
__4.1 출력문
__4.2 주석문(코드 설명문)
__4.3 들여쓰기
__4.4 공백 처리
__4.5 이스케이프 시퀀스
__4.6 자리 표시자

2부 C# 기초
05 변수 만들기
__5.1 변수
__5.2 리터럴 사용하기
__5.3 변수를 만들어 값 저장 후 사용하기
__5.4 변수 선언과 동시에 초기화하기
__5.5 형식이 같은 변수 여러 개를 한 번에 선언하기
__5.6 상수 사용하기
06 숫자 데이터 형식 사용하기
__6.1 숫자 데이터 형식
__6.2 정수 데이터 형식
__6.3 부호 있는 정수 데이터 형식
__6.4 부호 없는 정수 데이터 형식
__6.5 실수 데이터 형식
__6.6 숫자 형식의 리터럴 값에 접미사 붙이기
07 숫자 이외의 데이터 형식 사용하기
__7.1 문자 데이터 형식: char
__7.2 문자열 데이터 형식: string
__7.3 논리 데이터 형식: bool
__7.4 변하지 않는 값: 상수
__7.5 닷넷 데이터 형식
__7.6 래퍼 형식
08 사용자한테 얻은 정보를 변수에 저장하기
__8.1 문자열 입력 관련 메서드
__8.2 형식 변환
__8.3 이진수 다루기
__8.4 var 키워드로 암시적으로 형식화된 로컬 변수 만들기
__8.5 변수의 기본값을 default 키워드로 설정하기
09 연산자 개요 및 단항·산술 연산자 사용하기
__9.1 연산자
__9.2 단항 연산자
__9.3 변환 연산자: ( ) 기호로 데이터 형식 변환하기
__9.4 산술 연산자
__9.5 문자열 연결 연산자
10 할당 연산자와 증감 연산자 사용하기
__10.1 할당 연산자
__10.2 증감 연산자
11 관계형 연산자와 논리 연산자 사용하기
__11.1 관계형 연산자
__11.2 논리 연산자
12 비트 연산자와 시프트 연산자로 비트 단위 연산하기
__12.1 비트 연산자
__12.2 시프트 연산자
__12.3 기타 연산자
__12.4 연산자 우선순위
13 제어문 소개 및 if/else 문
__13.1 제어문
__13.2 순차문: 순서대로 실행하기
__13.3 조건문: if 문과 가지치기
__13.4 else 문
__13.5 else if 문(다중 if 문, 조건식 여러 개 처리)
__13.6 조건문(if 문)을 사용한 조건 처리 전체 정리
14 조건문: switch 문으로 다양한 조건 처리하기
__14.1 switch 문 소개
__14.2 switch 문 사용하기
15 반복문(for 문)을 사용하여 구간 반복하기
__15.1 for 문으로 반복하기
__15.2 무한 루프
__15.3 for 문으로 1부터 4까지 팩토리얼 값을 출력하는 프로그램
__15.4 구구단을 가로로 출력하기
16 while 문과 do 문, foreach 문으로 반복 처리하기
__16.1 while 문
__16.2 피보나치 수열을 while 문으로 표현하기
__16.3 do while 반복문으로 최소 한 번은 실행하기
__16.4 foreach 문으로 배열 반복하기
17 break, continue, goto로 반복문 제어하기
__17.1 break 문
__17.2 continue 문으로 코드 건너뛰기
__17.3 goto로 프로그램 흐름을 원하는 대로 바꾸기
18 배열 사용하기
__18.1 컬렉션
__18.2 배열
__18.3 배열 선언하기
__18.4 1차원 배열
__18.5 다차원 배열
__18.6 가변 배열
__18.7 var 키워드로 배열 선언하기
19 함수 사용하기
__19.1 함수
__19.2 함수 정의하고 사용하기
__19.3 매개변수와 반환값
__19.4 매개변수가 있는 함수
__19.5 반환값이 있는 함수
__19.6 함수를 사용하여 큰 값과 작은 값, 절댓값 구하기
__19.7 XML 문서 주석을 사용하여 함수 설명 작성하기
__19.8 기본 매개변수
__19.9 명명된 매개변수
__19.10 함수 오버로드: 다중 정의
__19.11 재귀 함수
__19.12 함수 범위: 전역 변수와 지역 변수
__19.13 화살표 함수: =〉
__19.14 식 본문 메서드
__19.15 로컬 함수
__19.16 Main 메서드의 명령줄 인수
20 C# 인터렉티브로 출력문부터 함수까지 내용 복습하기
__20.1 C# 인터렉티브

3부 C# 활용
21 닷넷 API
__21.1 닷넷 API 탐색기와 Docs
__21.2 클래스, 구조체, 열거형, 네임스페이스
__21.3 Math 클래스 사용하기
__21.4 클래스 또는 메서드 이름을 문자열로 가져오기: nameof 연산자
22 구조체 사용하기
__22.1 구조체란?
__22.2 구조체 만들기
__22.3 구조체 선언 및 사용하기
__22.4 구조체 배열
__22.5 구조체 매개변수: 함수의 매개변수에 구조체 사용하기
__22.6 내장형 구조체
23 열거형 형식 사용하기
__23.1 열거형 형식 사용하기
__23.2 열거형 만들기
__23.3 열거형 항목에 상수 값 주기
__23.4 열거형 관련 클래스 사용하기
24 클래스 사용하기
__24.1 클래스 소개하기
__24.2 클래스 만들기
__24.3 클래스 여러 개 만들기
__24.4 클래스 시그니처
__24.5 자주 사용하는 내장 클래스
__24.6 Environment 클래스로 프로그램 강제 종료하기
__24.7 환경 변수 사용하기
__24.8 EXE 파일 실행하기
__24.9 Random 클래스
__24.10 프로그램 실행 시간 구하기
__24.11 정규식
__24.12 닷넷에 있는 엄청난 양의 API
__24.13 값 형식과 참조 형식
__24.14 박싱과 언박싱
__24.15 is 연산자로 형식 비교하기
__24.16 as 연산자로 형식 변환하기
__24.17 패턴 매칭: if 문과 is 연산자 사용하기
25 문자열 다루기
__25.1 문자열 다루기
__25.2 문자열 처리 관련 주요 API 살펴보기
__25.3 StringBuilder 클래스를 사용하여 문자열 연결하기
__25.4 String과 StringBuilder 클래스의 성능 차이 비교하기
26 예외 처리하기
__26.1 예외와 예외 처리
__26.2 try~catch~finally 구문
__26.3 Exception 클래스로 예외 처리하기
__26.4 예외 처리 연습하기
__26.5 throw 구문으로 직접 예외 발생시키기
27 컬렉션 사용하기
__27.1 배열과 컬렉션
__27.2 리스트 출력 구문
__27.3 Array 클래스
__27.4 컬렉션 클래스
__27.5 Stack 클래스
__27.6 Queue 클래스
__27.7 ArrayList 클래스
__27.8 Hashtable 클래스
28 제네릭 사용하기
__28.1 Cup of T
__28.2 Stack 제네릭 클래스 사용하기
__28.3 List〈T〉 제네릭 클래스 사용하기
__28.4 Enumerable 클래스로 컬렉션 만들기
__28.5 Dictionary〈T, T〉 제네릭 클래스 사용하기
29 널(null) 다루기
__29.1 null 값
__29.2 null 가능 형식: Nullable〈T〉 형식
__29.3 null 값을 다루는 연산자 소개하기
30 LINQ
__30.1 LINQ 개요
__30.2 확장 메서드 사용하기
__30.3 화살표 연산자와 람다 식으로 조건 처리
__30.4 데이터 정렬과 검색
__30.5 메서드 구문과 쿼리 구문
__30.6 Select( ) 확장 메서드를 사용하여 새로운 형태로 가공하기
__30.7 ForEach( ) 메서드로 반복 출력하기
31 알고리즘과 절차 지향 프로그래밍
__31.1 알고리즘
__31.2 합계 구하기: SUM 알고리즘
__31.3 개수 구하기: COUNT 알고리즘
__31.4 평균 구하기: AVERAGE 알고리즘
__31.5 최댓값 구하기: MAX 알고리즘
__31.6 최솟값 구하기: MIN 알고리즘
__31.7 근삿값 구하기: NEAR 알고리즘
__31.8 순위 구하기: RANK 알고리즘
__31.9 순서대로 나열하기: SORT 알고리즘
__31.10 특정 값 검색하기: SEARCH 알고리즘
__31.11 배열을 하나로 합치기: MERGE 알고리즘
__31.12 최빈값 구하기: MODE 알고리즘
__31.13 그룹화하기: GROUP 알고리즘
32 개체 만들기
__32.1 클래스와 개체
__32.2 개체와 인스턴스
__32.3 인스턴스 메서드
__32.4 익명 형식
__32.5 정적 멤버와 인스턴스 멤버
__32.6 프로젝트에 클래스를 여러 개 사용하기
__32.7 ToString( ) 메서드 오버라이드
__32.8 클래스 배열
__32.9 var 키워드를 사용하여 클래스의 인스턴스 생성하기
33 네임스페이스
__33.1 네임스페이스
__33.2 네임스페이스 만들기
__33.3 using 지시문
34 필드 만들기
__34.1 필드
__34.2 액세스 한정자
__34.3 여러 가지 형태의 필드 선언, 초기화, 참조 구현하기
35 생성자
__35.1 생성자
__35.2 매개변수가 있는 생성자 만들기
__35.3 클래스에 생성자 여러 개 만들기
__35.4 정적 생성자와 인스턴스 생성자
__35.5 this( ) 생성자로 다른 생성자 호출하기
__35.6 생성자를 사용하여 읽기 전용 필드 초기화
__35.7 식 본문 생성자
36 소멸자
__36.1 종료자
__36.2 가비지 수집기
__36.3 생성자, 메서드, 소멸자 실행 시점 살펴보기
__36.4 소멸자를 사용한 클래스 역할 마무리하기
__36.5 생성자, 메서드, 소멸자 함께 사용하기
37 메서드와 매개변수
__37.1 메서드
__37.2 메서드의 매개변수 전달 방식
__37.3 가변 길이 매개변수
__37.4 메서드 본문을 줄여 표현하기
__37.5 선택적 매개변수
38 속성 사용하기
__38.1 속성
__38.2 접근자와 전체 속성
__38.3 자동으로 구현된 속성
__38.4 자동 속성 이니셜라이저
__38.5 읽기 전용 속성과 쓰기 전용 속성
__38.6 속성의 여러 가지 유형 살펴보기
__38.7 속성을 사용한 클래스의 멤버 설정 및 참조하기
__38.8 화살표 연산자로 속성과 메서드를 줄여서 표현하기
__38.9 개체 이니셜라이저
__38.10 자동 속성을 사용하여 레코드 클래스 구현하기
__38.11 nameof 연산자
__38.12 익명 형식
__38.13 익명 형식과 덕 타이핑
__38.14 생성자로 속성에 대한 유효성 검사 구현하기
__38.15 메서드로 속성 값 초기화하기
__38.16 속성에서 ?.와 ?? 연산자를 함께 사용하기
39 인덱서와 반복기
__39.1 인덱서
__39.2 인덱서를 사용하여 배열 형식의 개체 만들기
__39.3 문자열 매개변수를 받는 인덱서 사용하기
__39.4 반복기와 yield 키워드
40 대리자
__40.1 대리자(위임/델리게이트)
__40.2 대리자를 사용하여 메서드 대신 호출하기
__40.3 대리자를 사용하여 메서드 여러 개를 다중 호출하기
__40.4 무명 메서드
__40.5 메서드의 매개변수에 대리자 형식 사용하기
__40.6 Action, Func, Predicate 대리자
__40.7 메서드의 매개변수로 메서드 전달하기
41 이벤트
__41.1 이벤트
__41.2 이벤트와 대리자를 사용하여 메서드 등록 및 호출하기
42 클래스 기타
__42.1 부분 클래스
__42.2 정적 클래스
__42.3 필드에 public을 붙여 외부 클래스에 공개하기
__42.4 함수형 프로그래밍 스타일: 메서드 체이닝
__42.5 불변 형식
43 상속으로 클래스 확장하기
__43.1 클래스 상속하기
__43.2 부모 클래스와 자식 클래스
__43.3 Base 클래스와 Sub 클래스
__43.4 Object 클래스 상속
__43.5 부모 클래스 형식 변수에 자식 클래스의 개체 할당하기
__43.6 상속은 영어로 is a(is an) 관계를 표현
__43.7 this와 this( ) 그리고 base와 base( )
__43.8 봉인 클래스
__43.9 추상 클래스
__43.10 자식 클래스에만 멤버 상속하기
__43.11 기본 클래스의 멤버 숨기기
44 메서드 오버라이드
__44.1 메서드 오버라이드: 재정의
__44.2 상속 관계에서 메서드 오버라이드
__44.3 메서드 오버로드와 오버라이드
__44.4 메서드 오버라이드 봉인
__44.5 ToString( ) 메서드 오버라이드
__44.6 메서드 오버라이드로 메서드 재사용하기
45 인터페이스
__45.1 인터페이스
__45.2 인터페이스 형식 개체에 인스턴스 담기
__45.3 생성자의 매개변수에 인터페이스 사용하기
__45.4 인터페이스를 사용한 다중 상속 구현하기
__45.5 명시적인 인터페이스 구현하기
__45.6 인터페이스와 추상 클래스 비교하기
__45.7 IEnumerator 인터페이스 사용하기
__45.8 IDisposable 인터페이스 사용하기
__45.9 인터페이스를 사용하여 멤버 이름 강제로 적용하기
46 특성과 리플렉션
__46.1 특성
__46.2 Obsolete 특성 사용하기
__46.3 특성의 매개변수
__46.4 [Conditional] 특성 사용하기
__46.5 특성을 사용하여 메서드 호출 정보 얻기
__46.6 사용자 지정 특성 만들기
__46.7 리플렉션
__46.8 Type과 Assembly 클래스
__46.9 특정 클래스의 메서드와 속성을 동적으로 호출하기
__46.10 Type 클래스로 클래스의 멤버 호출하기
__46.11 특정 속성에 적용된 특성 읽어 오기
__46.12 Type과 Activator 클래스로 개체의 인스턴스를 동적 생성하기
47 개체와 개체 지향 프로그래밍
__47.1 개체 지향 프로그래밍 소개하기
__47.2 현실 세계의 자동차 설계도 및 자동차 개체 흉내 내기
__47.3 개체 지향 프로그래밍의 네 가지 큰 개념
__47.4 캡슐화를 사용하여 좀 더 세련된 프로그램 만들기
__47.5 다형성 기법을 사용하여 프로그램 융통성 높이기
__47.6 클래스의 멤버 종합 연습: 자동차 클래스 구현하기

4부 C# 확장 기능
48 제네릭 클래스 만들기
__48.1 사용자 정의 클래스를 매개변수로 사용하는 제네릭 클래스
__48.2 사전 제네릭 클래스 소개
__48.3 제네릭 인터페이스
__48.4 제네릭 클래스 만들기
49 확장 메서드 만들기
__49.1 확장 메서드
__49.2 확장 메서드로 문자열 기능 확장하기
__49.3 확장 메서드로 기존 형식에 새로운 메서드 추가하기
__49.4 확장 메서드를 사용하여 형식에 메서드 추가하기
50 동적 형식
__50.1 dynamic 키워드
__50.2 dynamic 변수로 런타임할 때 데이터 형식 결정하기
__50.3 동적 바인딩
__50.4 확장 메서드와 dynamic
51 튜플
__51.1 튜플
52 클래스 라이브러리와 닷넷 스탠다드
__52.1 클래스 라이브러리 프로젝트
__52.2 어셈블리
__52.3 닷넷 스탠다드 프로젝트로 자신만의 라이브러리 만들기
53 테스트 프로젝트와 단위 테스트
__53.1 자동 테스트
__53.2 테스트 프로젝트 생성 및 Assert 클래스 사용하기
__53.3 Dul 프로젝트를 테스트하는 테스트 코드 작성 및 실행하기
54 NuGet 패키지
__54.1 패키지 관리자와 NuGet
__54.2 자신만의 NuGet 패키지 만들기
__54.3 내가 만든 NuGet 패키지 사용하기
55 스레드
__55.1 스레드
__55.2 스레드 생성 및 호출하기
__55.3 다중 스레드를 사용한 메서드 함께 호출하기
__55.4 스레드 동기화
__55.5 병렬 프로그래밍
56 비동기 프로그래밍
__56.1 동기 프로그래밍
__56.2 비동기 프로그래밍
__56.3 비동기 Main( ) 메서드
__56.4 간단한 async와 await 키워드 사용 예제
__56.5 Task.Run( ) 메서드로 비동기 메서드 호출하기
__56.6 Task.FromResult( )를 사용하여 비동기로 반환값 전달하기
__56.7 async와 await를 사용한 C# 비동기 프로그래밍하기
57 인메모리 데이터베이스 프로그래밍 맛보기
__57.1 인메모리 데이터베이스
__57.2 CRUD 작업하기
__57.3 리포지토리 패턴
__57.4 인메모리 데이터베이스를 만들고 CRUD 작업 수행하기
58 스트림과 파일 입출력 맛보기
__58.1 System.IO 네임스페이스
__58.2 문자열에서 파일 이름 추출하기
__58.3 Path 클래스로 파일 이름 및 확장자, 폴더 정보 얻기
__58.4 파일과 디렉터리 관련 클래스
__58.5 텍스트 데이터를 컬렉션 데이터로 가져오기
59 XML과 JSON 맛보기
__59.1 XElement 클래스를 사용하여 XML 요소를 생성하거나 가공하기
__59.2 JSON 데이터 직렬화 및 역직렬화하기
60 네트워크 프로그래밍 맛보기
__60.1 HttpClient 클래스로 웹 데이터 가져오기
61 함수와 함수형 프로그래밍 소개하기
__61.1 함수형 프로그래밍
__61.2 문과 식
__61.3 고차 함수
__61.4 LINQ로 함수형 프로그래밍 스타일 구현하기
62 모던 C#
__62.1 C#의 새로운 기능
__62.2 패턴 매칭하기
__62.3 C# 8.0 버전의 기능을 테스트 프로젝트에서 실행하기
__62.4 C# 8.0 버전의 새로운 기능 열 가지 소개하기

부록 A 디버거 사용하기
부록 B 팁과 트릭

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.