이것이 C#이다 : 단계별 학습으로 탄탄한 기본기를 다져줄 C# 입문서 (3판)

이것이 C#이다 : 단계별 학습으로 탄탄한 기본기를 다져줄 C# 입문서 (3판)

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

박상현

저자:박상현
검색엔진포털,통신장비,반도체공정자동화,무기체계등다양한도메인에걸쳐소프트웨어를개발해왔다.현재는캘리포니아소재스타트업에서소프트웨어엔지니어로근무중이다.
엔지니어로일하면서『이것이자료구조+알고리즘이다withC언어』(2022),『그로킹딥러닝』(2019)을비롯하여10여권의저서와1권의역서를펴냈다

목차

Chapter01|프로그래밍을시작합시다
1.1프로그래밍언어의역사
__컴퓨터의시작,프로그래밍의시작
__포트란의탄생
__초등학생도프로그래밍할수있게한베이직
__유닉스의,유닉스에의한,유닉스를위한C
__C+1==C++
__더나은세상을위한C#
1.2C#의기본파일과환경설정
__프로그램을이루는소스파일과프로젝트
__비주얼스튜디오환경설정

Chapter02|처음만드는C#프로그램
2.1Hello,World!
2.2첫번째프로그램뜯어보기
__usingSystem;
__usingstaticSystem.Console;
__namespaceHello{}
__classMainApp{}
__//프로그램실행이시작되는곳
__staticvoidMain(string[]args){}
__if(args.Length==0){}
2.3CLR에대하여
[연습문제]

Chapter03|데이터보관하기
3.1다양한데이터의종류
3.2변수
3.3값형식과참조형식
__스택과값형식
__힙과참조형식
3.4기본데이터형식
__숫자데이터형식
[VitaminQuiz3-1]
[VitaminQuiz3-2]
__부동소수점형식
__문자형식과문자열형식
[VitaminQuiz3-3]
__논리형식
__object형식
__박싱과언박싱
__데이터형식바꾸기
3.5상수와열거형식
__상수:전언제나변하지않을거예요
__열거형식:여러개의상수를정리해요
3.6Nullable형식
3.7var:데이터형식을알아서파악하는똑똑한C#컴파일러
3.8공용형식시스템
3.9문자열다루기
__문자열안에서찾기
__문자열변형하기
__문자열분할하기
__문자열서식맞추기
[연습문제]

Chapter04|데이터를가공하는연산자
4.1C#에서제공하는연산자둘러보기
4.2산술연산자
4.3증가연산자와감소연산자
4.4문자열결합연산자
4.5관계연산자
4.6논리연산자
4.7조건연산자
4.8null조건부연산자
4.9비트연산자
__시프트연산자
__비트논리연산자
4.10할당연산자
4.11null병합연산자
4.12연산자의우선순위
[연습문제]

Chapter05|코드의흐름제어하기
5.1분기문
__if,else,elseif
__if문중첩해서사용하기
__switch문
__switch식
5.2반복문
__while
__dowhile
__for
__중첩for
__foreach
__for또는while을이용한무한반복코드
5.3점프문
__break
__continue
__goto
5.4패턴매칭
__선언패턴
__형식패턴
__상수패턴
__프로퍼티패턴
[VitaminQuiz5-1]
__관계패턴
__논리패턴
__괄호패턴
__위치패턴
__var패턴
__무시패턴
__목록패턴
[연습문제]

Chapter06|메소드로코드간추리기
6.1메소드란?
6.2return에대하여
6.3매개변수에대하여
6.4참조에의한매개변수전달
6.5메소드의결과를참조로반환하기
6.6출력전용매개변수
6.7메소드오버로딩
6.8가변개수의인수
6.9명명된인수
6.10선택적인수
6.11로컬함수
[연습문제]

Chapter07|클래스
7.1객체지향프로그래밍과클래스
[VitaminQuiz7-1]
7.2클래스의선언과객체의생성
7.3객체의삶과죽음에대하여:생성자와종료자
__생성자
__종료자
7.4정적필드와메소드
7.5객체복사하기:얕은복사와깊은복사
7.6this키워드
__나
__this()생성자
7.7접근한정자로공개수준결정하기
7.8상속으로코드재활용하기
7.9기반클래스와파생클래스사이의형식변환
7.10오버라이딩과다형성
7.11메소드숨기기
7.12오버라이딩봉인하기
7.13읽기전용필드
7.14중첩클래스
7.15분할클래스
7.16확장메소드
[VitaminQuiz7-2]
7.17구조체
7.18튜플
[연습문제]

Chapter08|인터페이스와추상클래스
8.1인터페이스의선언
8.2인터페이스는약속이다
[VitaminQuiz8-1]
8.3인터페이스를상속하는인터페이스
8.4여러인터페이스,한꺼번에상속하기
[VitaminQuiz8-2]
8.5인터페이스의기본구현메소드
8.6추상클래스:인터페이스와클래스사이
[연습문제]

Chapter09|프로퍼티
9.1public필드의유혹
9.2메소드보다프로퍼티
9.3자동구현프로퍼티
__자동구현프로퍼티뒤에서일어나는일
9.4프로퍼티와생성자
9.5초기화전용자동구현프로퍼티
9.6프로퍼티초기화를강제하는required키워드
9.7레코드형식으로만드는불변객체
__레코드선언하기
__with를이용한레코드복사
__레코드객체비교하기
9.8무명형식
9.9인터페이스의프로퍼티
9.10추상클래스의프로퍼티
[연습문제]

Chapter10|배열과컬렉션그리고인덱서
10.1Allforone,oneforall
10.2배열을초기화하는세가지방법
10.3알아두면삶이윤택해지는System.Array
10.4배열분할하기
10.52차원배열
[VitaminQuiz10-1]
[VitaminQuiz10-2]
10.6다차원배열
10.7가변배열
10.8컬렉션맛보기
__ArrayList
__Queue
__Stack
__Hashtable
10.9컬렉션을초기화하는방법
10.10인덱서
10.11foreach가가능한객체만들기
[연습문제]

Chapter11|일반화프로그래밍
11.1일반화프로그래밍이란?
11.2일반화메소드
11.3일반화클래스
11.4형식매개변수제약시키기
[VitaminQuiz11-1]
11.5일반화컬렉션
__List
__Queue
__Stack
__Dictionary
11.6foreach를사용할수있는일반화클래스
[연습문제]

Chapter12|예외처리하기
12.1예외에대하여
12.2try~catch로예외받기
12.3System.Exception클래스
12.4예외던지기
12.5try~catch와finally
12.6사용자정의예외클래스만들기
12.7예외필터하기
12.8예외처리다시생각해보기
[연습문제]

Chapter13|대리자와이벤트
13.1대리자란?
13.2대리자는왜,언제사용하나요?
13.3일반화대리자
13.4대리자체인
13.5익명메소드
13.6이벤트:객체에일어난사건알리기
13.7대리자와이벤트
[연습문제]

Chapter14|람다식
14.1람다식,너는어디에서왔니?
14.2처음만나는람다식
14.3문형식의람다식
14.4Func와Action으로더간편하게무명함수만들기
__Func대리자
__Action대리자
14.5식트리
14.6식으로이루어지는멤버
[연습문제]

Chapter15|LINQ
15.1데이터!데이터!데이터!
15.2LINQ의기본
__from
__where
__orderby
__select
15.3여러개의데이터원본에질의하기
15.4groupby로데이터분류하기
15.5두데이터원본을연결하는join
__내부조인
__외부조인
15.6LINQ의비밀과LINQ표준연산자
[연습문제]

Chapter16|리플렉션과애트리뷰트
16.1리플렉션
__Object.GetType()메소드와Type클래스
[VitaminQuiz16-1]
__리플렉션을이용해서객체생성하기
__형식내보내기
16.2애트리뷰트
__애트리뷰트사용하기
__호출자정보애트리뷰트
__내가만드는애트리뷰트
[연습문제]

Chapter17|dynamic형식
17.1dynamic형식소개
__덕타이핑
17.2COM과.NET사이의상호운용성을위한dynamic형식
17.3동적언어와의상호운용성을위한dynamic형식

Chapter18|파일다루기
18.1파일정보와디렉터리정보다루기
__예제프로그램:디렉터리/파일정보조회하기
__예제프로그램:디렉터리/파일생성하기
18.2파일을읽고쓰기위해알아야할것들
__System.IO.Stream클래스
[VitaminQuiz18-1]
18.3실수를줄여주는using선언
18.4이진데이터처리를위한BinaryWriter/BinaryReader
[VitaminQuiz18-2]
18.5텍스트파일처리를위한StreamWriter/StreamReader
18.6객체직렬화하기
[VitaminQuiz18-3]

Chapter19|스레드와태스크
19.1프로세스와스레드
__스레드시작하기
__스레드임의로종료하기
__스레드의일생과상태변화
__인터럽트:스레드를임의로종료하는다른방법
__스레드간동기화
[VitaminQuiz19-1]
[VitaminQuiz19-2]
19.2Task와Task그리고Parallel
__System.Threading.Tasks.Task클래스
__코드의비동기실행결과를주는Task클래스
__손쉬운병렬처리를가능케하는Parallel클래스
19.3async한정자와await연산자로만드는비동기코드
__.NET이제공하는비동기API맛보기

Chapter2

출판사 서평

이책이필요한독자
-기초문법부터차근차근C#을배우고싶다.
-신규프로젝트때문에C#을공부해야한다.
-게임을만들고싶어C#을배우려고한다.

이책에서다루는내용
-C#프로그래밍을위한기초문법
-객체지향프로그래밍소개
-프로그래머의생산성을높여줄고급문법
-.NET프레임워크활용방법과메모리관리방법