책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > .NET > C#
· ISBN : 9791157831012
· 쪽수 : 808쪽
책 소개
목차
1. 서론: 책 소개
1.1 이 책이 적합한 이유 또는 적합하지 않는 이유
1.2 개인 정보
1.3 컴퓨터 프로그래밍의 간략한 역사: 프로그래밍의 역사
1.4 C#: 유연한 프로그래밍 언어
1.5 프로그래밍이란 무엇인가
1.6 컴파일링: 단어를 컴퓨터 명령어로 변환하기
1.7 학습한 내용
1.8 레벨 업
2. 시작하기 전에
2.1 이 장에서 다룰 내용
2.2 무료 다운로드 및 설치
2.3 유니티 3D의 개요: 살펴볼 내용
2.4 샘플 코드
2.5 C#으로 작업하기: 게임 엔진
2.6 학습한 내용
2.7 레벨 업
3. 첫걸음
3.1 이 장의 내용
3.2 리뷰
3.3 토큰
3.4 구문과 표현식
3.5 키워드
3.6 공백
3.7 코드 블록
3.8 클래스
3.9 변수
3.10 변수 이름
3.11 타입: 한눈에 보기
3.12 강력한 타이핑
3.13 타입 캐스팅: 숫자
3.14 주석
3.15 레벨 업: 기본 원칙으로 돌아가기
4. 기본 원칙: 코드 블럭 작성하기
4.1 이번 장에서 다룰 내용
4.2 리뷰
4.3 게임 아이디어 만들기: 아는 것부터 시작하기
4.4 클래스 생성하기
4.5 지시문
4.6 함수
4.7 연산 순서: 계산되는 것과 계산하는 순서
4.8 범위: 한 눈에 보기
4.9 This
4.10 아이디어를 코드로 변환하기 - 파트 1
4.11 논리와 연산자
4.12 루프
4.13 범위 다시 보기
4.14 경고 대 에러
4.15 레벨 업: 기본 원칙
5. 기본 원칙
5.1 5장에서 다룰 내용
5.2 리뷰
5.3 상속(Inheritance): 한 눈에 보기
5.4 인스턴싱
5.5 Static
5.6 아이디어를 코드로 변환하기 - 파트 2
5.7 점프 구문
5.8 연산자와 조건
5.9 배열: 한 눈에 보기
5.10 점프 구문: break & continue
5.11 다차원 배열
5.12 배열 목록
5.13 문자열
5.14 학습한 내용 종합하기
5.15 소스 버전 관리
5.16 레벨 업: 더 흥미로운 기술
6. 중급
6.1 6장에서 다룰 내용
6.2 리뷰
6.3 슈도코드
6.4 클래스 생성자
6.5 배열 다시 보기
6.6 Enums
6.7 Switch
6.8 Structs
6.9 클래스 데이터
6.10 네임스페이스
6.11 함수 다시 보기
6.12 유니티 3D 실행 순서
6.13 상속 다시 보기
6.14 타입 캐스팅 다시 보기
6.15 벡터와 함께 사용하기
6.16 goto Labels
6.17 배열 다시 보기
6.18 Out 매개변수
6.19 Ref 매개변수
6.20 타입 캐스팅 숫자
6.21 타입과 연산자
6.22 연산자 오버로드
6.23 상속 제어
6.24 레벨 업
7 고급
7.1 이번 장에서 다룰 내용
7.2 리뷰
7.3 MonoDevelop
7.4 함수 오버로딩
7.5 접근자
7.6 기본 클래스: 다시 살펴보기
7.7 선택적 매개변수
7.8 대리자 함수
7.9 인터페이스
7.10 클래스 생성자 다시 보기
7.11 전처리 지시문
7.12 예외
7.13 IEnumerator
7.14 제네릭
7.15 이벤트
7.16 유니티 친화적 클래스
7.17 소멸자
7.18 동시성 혹은 코루틴
7.19 딕셔너리, 스택, 큐
7.20 콜백
7.21 람다 식
7.22 레벨 업
8. 확장
8.1 8장에서 다룰 내용
8.2 검토
8.3 가독성 최적화 및 숙어
8.4 소스 관리 다시 보기
8.5 디버깅
8.6 재귀
8.7 반사
8.8 LINQ
8.9 비트 연산자
8.10 Bitwise Math
8.11 속성
8.12 아키텍쳐 및 구조
8.13 디자인 패턴
8.14 스스로 찾아서 공부하기
9. 이 책에서 다루지 못한 주제
9.1 Extern과 Unsafe 키워드
9.2. Dynamic
10. 행운을 빈다
리뷰
책속에서
복잡한 규칙을 염두에 두고 프로그래밍을 할 때 복잡한 수학적 지식이 필요할까? 실제로 수학 소프트웨어를 프로그래밍하는 것이 아니라면 약간의 기하학 지식만 있어도 괜찮다. 이 책에 있는 대다수의 예제는 약간의 수학만을 가지고도 프로그래밍을 할 수 있도록 작성되었다. 독자도 알고 있겠지만 수학과 프로그래밍은 방법론적인 측면에서 겹치는 부분이 매우 많다.
학교에서 배우는 수학은 한 가지 답만을 찾아야 한다. 프로그래밍 결과는 수학적 증명처럼 동작하지만 평범한 수학과는 다르다. 프로그래밍에서 수학적 증명은 좀비가 인간을 쫓아다니게 만드는 것이다. 수학적으로 필요한 부분은 컴퓨터가 대부분 해줄 것이다. 어떤 연산식을 사용할지 결정하고 올바른 변수를 찾아 입력하는 것은 독자에게 달렸다.
실수하는 것을 두려워하지 말라. 우리가 작성한 코드가 유니티 3D나 컴퓨터를 부수거나 하지는 않을 것이다. 적어도 유니티 3D를 망가뜨리는 내용이 이 책에는 없으니 걱정 안 해도 된다. 실제로 에러를 만드는 것은 좋은 일이다. 에러는 프로그래머가 할 수 있는 것과 하지 말아야 하는 것을 알려준다. 프로그래머는 종종 에러가 발생할 수도 있는 코딩을 한 후 ‘컴파일러가 이 작업을 허용할 것인가?’라고 자문한다. 컴파일러가 에러를 발생시키지 않으면 프로그래머는 ‘아하, 이렇게 작업해도 되는구나. 그럼 내가 할 수 있는 건…’이라고 생각하게 된다.
에러를 만들고 고침으로써 컴파일러가 우리에게 기대하는 것이 무엇인지 알게 된다. 이런 방법은 프로그래머와 컴퓨터 사이의 일종의 대화라고 보면 된다. 예를 들면 프로그래머가 코드 구문의 형태로 질문을 하고 컴퓨터는 프로그래머에게 요청한 작업을 실행할 수 없다고 에러로 답을 하는 것이다.
프로그래밍은 모든 것을 완수했을 때 상당한 보상을 준다. 그런 작은 문제 때문에 C#을 공부하는 것을 포기하지 말기 바란다. 프로그래밍 지식이 점차 쌓이면서 코드 작성도 쉬워질 것이다. 하나의 프로그래밍 언어를 습득한 후에는 다른 프로그래밍 언어를 배우기가 더 쉽다.
C#을 모두 습득한 후 이 책을 통해 얻은 지식을 가지고 다른 프로그래밍 언어에 도전해보고, 더 학습할 필요성을 느껴서 계속 배워나가길 바란다. 만약 아티스트로서 프로그래밍을 코딩하는 기술을 얻고자 한다면 이 책은 당신의 역량에 깊이 이상의 것을 더해줄 것이다.