장바구니 담기 close

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

시작하세요! C# 8.0 프로그래밍

시작하세요! C# 8.0 프로그래밍

  • 정성태
  • |
  • 위키북스
  • |
  • 2019-11-21 출간
  • |
  • 936페이지
  • |
  • 188 X 240 X 36 mm
  • |
  • ISBN 9791158391805
★★★★★ 평점(10/10) | 리뷰(1)
판매가

32,000원

즉시할인가

28,800

카드할인

0원(즉시할인 0%)

적립금

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

배송비

무료배송

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

추가혜택

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

수량
+ -
총주문금액
28,800

이 상품은 품절된 상품입니다

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

출판사서평




이 책을 덮으면서 이제 한 가지를 결정해야 한다.

* 더 공부할 것인가?
* 아니면 뭔가를 만들어 볼 것인가?

더 공부하면 그만큼 알게 되어 나중에 만들고 싶은 프로그램이 있을 때 시행착오를 덜 겪으면서 편하게 작업할 수 있다. 반면 뭔가를 만들게 된다면 부족한 지식으로 인해 초기에 어려움을 겪겠지만 만들어질 프로그램에 필요한 사항을 빠르게 습득한다는 점과 자신만의 프로그램을 완성해 봄으로써 얻어지는 독특한 경험이 남는다.
프로그래밍은 만드는 재미도 있고, 공부하는 재미도 있다. 결정을 내렸으면 이제부터 그냥 재미에 푹 빠져들면 된다.

[소스코드 다운로드 & 홈페이지]
이 책에서 설명한 소스를 내려받거나, 읽으면서 문의사항이 생기면 아래 사이트를 방문해서 해결할 수 있다.
http://www.sysnet.pe.kr


목차


[1부: C#]

▣ 01장: 들어가면서
1.1 닷넷 프레임워크
__1.1.1 닷넷 호환 언어
__1.1.2 공통 중간 언어
__1.1.3 공용 타입 시스템
__1.1.4 공용 언어 사양
__1.1.5 메타데이터
__1.1.6 어셈블리, 모듈, 매니페스트
__1.1.7 공용 언어 기반구조
__1.1.8 공용 언어 런타임
__1.1.9 닷넷 프레임워크
__1.1.10 C#과 닷넷 프레임워크의 관계
1.2 닷넷 코어와 닷넷 표준
1.3 닷넷 5(.NET 5)

▣ 02장: 개발 환경 준비
2.1 기본 예제
2.2 편집기 + 명령행 컴파일러 사용
__2.2.1 닷넷 프레임워크 명령행
__2.2.2 닷넷 코어 명령행
2.3 비주얼 스튜디오 개발 환경
2.4 윈도우 운영체제 이외의 개발 환경
2.5 닷넷 역컴파일러

▣ 03장: C# 기초
3.1 기본 자료형
__3.1.1 정수형 기본 타입
__3.1.2 실수형 기본 타입
__3.1.3 문자형 기본 타입
__3.1.4 불린(boolean)형 기본 타입
__3.1.5 마치며
3.2 형변환
__3.2.1 암시적 변환
__3.2.2 명시적 변환
3.3 기본 문법 요소
__3.3.1 예약어, 키워드
__3.3.2 식별자
__3.3.3 리터럴
__3.3.4 변수
____3.3.4.1 두 가지 저장소: 스택과 힙
____3.3.4.2 값 형식을 가리키는 변수
____3.3.4.3 참조 형식을 가리키는 변수
____3.3.4.4 기본값
__3.3.5 상수
__3.3.6 연산자, 문장 부호
3.4 배열
__3.4.1 다차원 배열
__3.4.2 가변 배열
3.5 제어문
__3.5.1 선택문
____3.5.1.1 관계 연산자, 논리 연산자
____3.5.1.2 if 문
____3.5.1.3 switch 문
__3.5.2 반복문
____3.5.2.1 증감 연산자, 복합 대입 연산자
____3.5.2.2 for 문
____3.5.2.3 중첩 루프
____3.5.2.4 foreach 문
____3.5.2.5 while 문
__3.5.3 점프문
____3.5.3.1 break 문
____3.5.3.2 continue 문
____3.5.3.3 goto 문

▣ 04장: C# 객체지향 문법
4.1 클래스
__4.1.1 필드
__4.1.2 메서드
____4.1.2.1 중복 코드 제거
____4.1.2.2 코드 추상화
__4.1.3 생성자
__4.1.4 종료자
__4.1.5 정적 멤버, 인스턴스 멤버
____4.1.5.1 정적 필드
____4.1.5.2 정적 메서드
____4.1.5.3 정적 생성자
__4.1.6 네임스페이스
4.2 캡슐화
__4.2.1 접근 제한자
__4.2.2 정보 은닉
__4.2.3 프로퍼티
4.3 상속
__4.3.1 형변환
____4.3.1.1 as, is 연산자
__4.3.2 모든 타입의 조상: System.Object?
____4.3.2.1 ToString
____4.3.2.2 GetType
____4.3.2.3 Equals
____4.3.2.4 GetHashCode
__4.3.3 모든 배열의 조상: System.Array
__4.3.4 this
____4.3.4.1 this와 인스턴스/정적 멤버의 관계
__4.3.5 base
4.4 다형성
__4.4.1 메서드 오버라이드
____4.4.1.1 base를 이용한 메서드 재사용
____4.4.1.2 object 기본 메서드 확장
__4.4.2 오버로드
____4.4.2.1 메서드 오버로드
____4.4.2.2 연산자 오버로드
____4.4.2.3 클래스 간의 형변환
4.5 C#의 클래스 확장
__4.5.1 타입 유형 확장
____4.5.1.1 중첩 클래스
____4.5.1.2 추상 클래스
____4.5.1.3 델리게이트
____4.5.1.4 인터페이스
____4.5.1.5 구조체
____4.5.1.6 열거형
__4.5.2 멤버 유형 확장
____4.5.2.1 읽기 전용 필드
____4.5.2.2 상수
____4.5.2.3 이벤트
____4.5.2.4 인덱서

▣ 05장: C# 1.0 완성하기
5.1 문법 요소
__5.1.1 구문
____5.1.1.1 전처리기 지시문
____5.1.1.2 지역 변수의 유효 범위
____5.1.1.3 리터럴에도 적용되는 타입
____5.1.1.4 특성
__5.1.2 연산자
____5.1.2.1 시프트 연산자
____5.1.2.2 비트 논리 연산자
____5.1.2.3 연산자 우선순위
__5.1.3 예약어
____5.1.3.1 연산 범위 확인: checked, unchecked
____5.1.3.2 가변 매개변수: params
____5.1.3.3 Win32 API 호출: extern
____5.1.3.4 안전하지 않은 컨텍스트: unsafe
____5.1.3.5 참조 형식의 멤버에 대한 포인터: fixed
____5.1.3.6 고정 크기 버퍼: fixed
____5.1.3.7 스택을 이용한 값 형식 배열: stackalloc
5.2 프로젝트 구성
__5.2.1 다중 소스코드 파일
__5.2.2 라이브러리
____5.2.2.1 csc.exe로 라이브러리 생성 및 사용
____5.2.2.2 비주얼 스튜디오에서 라이브러리 생성 및 사용
__5.2.3 응용 프로그램 구성 파일: app.config
____5.2.3.1 supportedRuntime
____5.2.3.2 appSettings
__5.2.4 디버그 빌드와 릴리스 빌드
____5.2.4.1 DEBUG, TRACE 전처리 상수
____5.2.4.2 Debug 타입과 Trace 타입
__5.2.5 플랫폼(x86, x64, AnyCPU) 선택
__5.2.6 버전 관리
____5.2.6.1 어셈블리의 버전과 이름
____5.2.6.2 공개키 토큰과 어셈블리 서명
____5.2.6.3 전용 어셈블리, 전역 어셈블리
5.3 예외
__5.3.1 예외 타입
__5.3.2 예외 처리기
__5.3.3 호출 스택
__5.3.4 예외 발생
__5.3.5 사용자 정의 예외 타입
__5.3.6 올바른 예외 처리
5.4 힙과 스택
__5.4.1 스택
____5.4.1.1 스택 오버플로
____5.4.1.2 재귀 호출
__5.4.2 힙
____5.4.2.1 박싱/언박싱
____5.4.2.2 가비지 수집기
____5.4.2.3 전체 가비지 수집
____5.4.2.4 대용량 객체 힙
____5.4.2.5 자원 해제
____5.4.2.6 종료자

▣ 06장: BCL(Base Class Library)
6.1 시간
__6.1.1 System.DateTime
__6.1.2 System.TimeSpan
__6.1.3 System.Diagnostics.Stopwatch
6.2 문자열 처리
__6.2.1 System.String
__6.2.2 System.Text.StringBuilder
__6.2.3 System.Text.Encoding
__6.2.4 System.Text.RegularExpressions.Regex
6.3 직렬화/역직렬화
__6.3.1 System.BitConverter
__6.3.2 System.IO.MemoryStream
__6.3.3 System.IO.StreamWriter / System.IO.StreamReader
__6.3.4 System.IO.BinaryWriter / System.IO.BinaryReader
__6.3.5 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
__6.3.6 System.Xml.Serialization.XmlSerializer
__6.3.7 System.Runtime.Serialization.Json.DataContractJsonSerializer
6.4 컬렉션
__6.4.1 System.Collections.ArrayList
__6.4.2 System.Collections.Hashtable
__6.4.3 System.Collections.SortedList
__6.4.4 System.Collections.Stack
__6.4.5 System.Collections.Queue
6.5 파일
__6.5.1 System.IO.FileStream
__6.5.2 System.IO.File / System.IO.FileInfo
__6.5.3 System.IO.Directory / System.IO.DirectoryInfo
__6.5.4 System.IO.Path
6.6 스레딩
__6.6.1 System.Threading.Thread
__6.6.2 System.Threading.Monitor
__6.6.3 System.Threading.Interlocked
__6.6.4 System.Threading.ThreadPool
__6.6.5 System.Threading.EventWaitHandle
__6.6.6 비동기 호출
__6.6.7 System.Delegate의 비동기 호출
6.7 네트워크 통신
__6.7.1 System.Net.IPAddress
__6.7.2 포트
__6.7.3 System.Net.IPEndPoint
__6.7.4 System.Net.Dns
__6.7.5 System.Net.Sockets.Socket
____6.7.5.1 UDP 소켓
____6.7.5.2 TCP 소켓
____6.7.5.3 TCP 서버 개선 ? 다중 스레드와 비동기 통신
____6.7.5.4 HTTP 통신
__6.7.6 System.Net.HttpWebRequest
__6.7.7 System.Net.WebClient
6.8 데이터베이스
__6.8.1 마이크로소프트 SQL 서버
____6.8.1.1 실습용 데이터베이스 준비
____6.8.1.2 SQL 쿼리
__6.8.2 ADO.NET 데이터 제공자
____6.8.2.1 System.Data.SqlClient.SqlConnection
____6.8.2.2 System.Data.SqlClient.SqlCommand
____6.8.2.3 System.Data.SqlClient.SqlDataReader
____6.8.2.4 System.Data.SqlClient.SqlParameter
____6.8.2.5 System.Data.SqlClient.SqlDataAdapter
__6.8.3 데이터 컨테이너
____6.8.3.1 일반 닷넷 클래스
____6.8.3.2 System.Data.DataSet
____6.8.3.3 Typed DataSet
__6.8.4 데이터베이스 트랜잭션
6.9 리플렉션
__6.9.1 AppDomain과 Assembly
__6.9.2 Type과 리플렉션
__6.9.3 리플렉션을 이용한 확장 모듈 구현
6.10 기타
__6.10.1 윈도우 레지스트리
__6.10.2 BigInteger
__6.10.3 IntPtr

[2부: C# 고급 문법]

▣ 07장: C# 2.0
7.1 제네릭
__7.1.1 형식 매개변수에 대한 제약 조건
__7.1.2 BCL에 적용된 제네릭
7.2 ?? 연산자(null 병합 연산자)
7.3 default 예약어
7.4 yield return/break
7.5 부분(partial) 클래스
7.6 nullable 형식
7.7 익명 메서드
7.8 정적 클래스

▣ 08장: C# 3.0
8.1 var 예약어
8.2 자동 구현 속성
8.3 객체 초기화
8.4 컬렉션 초기화
8.5 익명 타입
8.6 부분 메서드
8.7 확장 메서드
8.8 람다 식
__8.8.1 코드로서의 람다 식
____8.8.1.1 람다 메서드를 위한 전용 델리게이트
____8.8.1.2 컬렉션과 람다 메서드
__8.8.2 데이터로서의 람다 식
8.9 LINQ
__8.9.1 where, orderby, group by, join
__8.9.2 표준 쿼리 연산자
__8.9.3 일관된 데이터 조회

▣ 09장: C# 4.0
9.1 선택적 매개변수와 명명된 인수
9.2 dynamic 예약어
__9.2.1 리플렉션 개선
__9.2.2 덕 타이핑
__9.2.3 동적 언어와의 타입 연동

▣ 10장: C# 5.0
10.1 호출자 정보
10.2 비동기 호출
__10.2.1 닷넷 4.5 BCL에 추가된 Async 메서드
__10.2.2 Task, Task〈TResult〉 타입
__10.2.3 async 예약어가 적용된 메서드의 반환 타입
__10.2.4 Async 메서드가 아닌 경우의 비동기 처리
__10.2.5 비동기 호출의 병렬 처리

▣ 11장: C# 6.0
11.1 C# 3.0에 소개된 자동 구현 속성의 초기화 구문 추가
11.2 람다 식을 이용한 메서드, 속성 및 인덱서 정의
11.3 using static 구문을 이용한 타입명 생략
11.4 null 조건 연산자
11.5 문자열 내에 식(expression)을 포함
11.6 nameof 연산자
11.7 Dictionary 타입의 인덱스 초기화
11.8 예외 필터
11.9 catch/finally 블록 내에서 await 사용 가능
11.10 컬렉션 초기화 구문에 확장 메서드로 정의한 Add 지원
11.11 #pragma의 “CS” 접두사 지원
11.12 재정의된 메서드의 선택 정확도를 향상

▣ 12장: C# 7.0
12.1 더욱 편리해진 out 매개변수 사용
12.2 반환값 및 로컬 변수에 ref 기능 추가(ref returns and locals)
12.3 튜플
12.4 Deconstruct 메서드
12.5 람다 식을 이용한 메서드 정의 확대(Expression-bodied members)
12.6 지역 함수(Local functions)
12.7 사용자 정의 Task 타입을 async 메서드의 반환 타입으로 사용 가능
12.8 자유로워진 throw 사용
12.9 리터럴에 대한 표현 방법 개선(Literal improvements)
12.10 패턴 매칭
__12.10.1 is 연산자의 패턴 매칭
__12.10.2 switch/case 문의 패턴 매칭

▣ 13장: C# 7.1
13.1 Main 메서드에 async 예약어 허용
13.2 default 리터럴 추가
13.3 타입 추론을 통한 튜플의 변수명 자동 지정
13.4 패턴 매칭 ? 제네릭 추가
13.5 참조 전용 어셈블리(Ref Assemblies)

▣ 14장: C# 7.2
14.1 메서드의 매개변수에 in 변경자 추가
14.2 읽기 전용(readonly) 구조체
14.3 메서드의 반환 값 및 로컬 변수에 ref readonly 추가
14.4 스택에만 생성할 수 있는 값 타입 지원 ? ref struct
14.5 신규 추가 타입: Span〈T〉
14.6 3항 연산자에 ref 지원
14.7 private protected 접근자 추가
14.8 숫자 리터럴의 선행 밑줄
14.9 뒤에 오지 않는 명명된 인수

▣ 15장: C# 7.3
15.1 신규 제네릭 제약 조건 ? Delegate, Enum, unmanaged
15.2 사용자 정의 타입에 fixed 적용 가능
15.3 힙에 할당된 고정 크기 배열의 인덱싱 개선
15.4 초기화 식에서 변수 사용 가능
15.5 자동 구현 속성의 특성 지원
15.6 튜플의 ==, != 연산자 지원
15.7 ref 지역 변수의 재할당 가능
15.8 stackalloc 배열의 초기화 구문 지원
15.9 개선된 메서드 선택 규칙 3가지
__15.9.1 정적/인스턴스 멤버의 호출 문맥 구분
__15.9.2 제네릭의 형식 매개변수 타입 구분
__15.9.3 delegate 반환 타입 구분

▣ 16장: C# 8.0
16.1 #nullable 지시자와 nullable 참조 형식
__16.1.1 null일 수 없음을 보장
__16.1.2 null일 수 있다면 해당 인스턴스를 null 가능한 타입이라고 명시
__16.1.3 널 가능(Nullable) 문맥 제어
16.2 비동기 스트림
16.3 새로운 연산자 ? 인덱스, 범위
16.4 간결해진 using 선언
16.5 Dispose 호출이 가능한 ref struct
16.6 정적 지역 함수
16.7 패턴 매칭 개선
__16.7.1 switch 식
__16.7.2 속성 패턴
__16.7.3 튜플 패턴
__16.7.4 위치 패턴
__16.7.5 재귀 패턴
16.8 기본 인터페이스 메서드
16.9 ??= (널 병합 할당 연산자)
16.10 문자열 @, $ 접두사 혼합 지원
16.11 기본 식(primary expression)으로 바뀐 stackalloc
16.12 제네릭 구조체의 unmanaged 지원
16.13 구조체의 읽기 전용 메서드

[3부: 닷넷 응용 프로그램]
http://www.sysnet.pe.kr/2/0/12021 및 출판사의 공식 홈페이지를 통해 내용이 모두 공개돼 있으니 참고하자.

▣ 부록
A _ C# 8.0 언어 명세
B _ C# 8.0 연산자와 문장 부호
C _ C# 8.0 예약어
D _ ASCII 코드
E _ 프로그래밍 기본 지식
__E.1 하드웨어 관련 용어
____E.1.1 중앙 처리 장치(CPU)
____E.1.2 레지스터(Register)
____E.1.3 x86, x64
____E.1.4 멀티 CPU와 멀티 코어
__E.2 운영체제 관련 용어
____E.2.1 도스(DOS)
____E.2.2 윈도우 운영체제
____E.2.3 멀티 태스킹/다중 프로세스
____E.2.4 Win32 응용 프로그램 인터페이스(API)
____E.2.5 윈도우 응용 프로그램
____E.2.6 32비트 응용 프로그램
____E.2.7 64비트 응용 프로그램
____E.2.8 윈도우 이외의 운영체제
__E.3 프로그래밍 용어
____E.3.1 기계어
____E.3.2 어셈블리어, 소스코드, 컴파일
____E.3.3 컴파일러, 링커, 빌드
____E.3.4 인터프리터 언어
____E.3.5 저급/고급 프로그래밍 언어
____E.3.6 네이티브 언어
____E.3.7 프로세스 가상 머신(VM)
____E.3.8 가상 머신 지원 언어
F _ 참고 자료

교환 및 환불안내

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