ld20***
2023-06-20

오늘은 이 책에 대해서 리뷰를 시작해보겠습니다.
이 책의 저자인 박상현님은 검색 엔진 포털, 통신 장비, 반도체 공정 자동화, 무기체계 등 다양한 도메인에 걸쳐 소프트웨어를 개발해 왓습니다.
엔지니어로 일하면서 이것이 자료구조 + 알고리즘이다 with C 언어 2022, 그로킹 딥러닝 2019 를 비롯하여 10여권의 저서와 1권의 역서를 펴냈습니다.
예전에는 책을 보면 목차도 읽지 않았지만 요즘은 책 앞에 보면 이 책의 구성 가이드와 학습 방법을 꼭 살펴보고 있습니다.
마치 가전제품을 구매했는데 설명서를 읽지 않아서 제대로 작동하는 방법을 모른채 감으로만 사용한다고 할까요
특히 학습서를 볼 때는 책의 가이드라인을 충실히 따라서 진행하면 조금 더 학습 효과가 올라갈 것 같습니다.
동영상 강의와 실습예제 그리고 Q & A 사이트도 이용할 수 있어서 C# 에 대해서 기본부터 깊이 있는 부분까지도 공부할 수 있을거라고 생각합니다.
학습 로드맵을 살펴보면 1챕터부터 6챕터까지는 기초 구문을 배우게 되며 7챕터부터 12챕터까지는 객체지향 프로그래밍을 이해할 수 있습니다.
13챕터부터 17챕터까지는 고급 문법을 배우며 18챕터부터 22챕터까지는 .NET 프레임워크를 이용한 프로그래밍을 배울 수 있습니다.
저자는 1챕터에서 17챕터까지는 차례대로 공부하고 18챕터부터는 마음에 드는 부분부터 하나씩 골라 읽기를 권장해주고 있으니 참고하셔서 학습을 진행하시면 좋을 것 같습니다.
C# 의 역사
C 언에서 객체지향을 추구하는 C++ 언어로 발전이 되었으며 여기서 한발 더 나아가 탄생한 언어가 C#입니다.
++ 에 ++ 더한 것이 # 인 것이죠
C# 이라는 이름은 C++을 계승한다는 의미로 붙여진 것이죠 하지만 C#d느 C++와는 여러가지 면에서 큰 차이를 보이고 있습니다.
1990년대말 마이크로소프트에서 .NET(닷넷) 버전을 발표했지만 대부분의 사람들의 관심을 끌지 못했습니다.
하지만 프로그래머들에게는 소중한 선물을 안겨주었는데 그것이 바로 .NET 클래스 라이브러리와 C# 프로그래밍 언어입니다.
Hello World!
대배분의 프로그래밍 언어를 처음 배울 때 시작하는 예제는 항상 Hello World 였던 것 같습니다.
C, C++, C#까지 모두 그랬던 것 같습니다.
새로 프로젝트를 시작하고 컴파일하면 Hello World 를 만날 수 있습니다
클래스
객체지향 프로그래밍과 클래스
클래스를 이야기하려면 먼저 객체지향 프로그래밍 Object Oriented Programming 을 설명해야 합니다.
객체지향 프로그래밍은 OOP라고도 하는데 코드 내 모든 것을 객체 Object 로 표현하려는 프로그래밍 패러다임을 뜻합니다.
이 세상에서 객체라고 할만한 모든 것을 갖고 있는 것은 두가지가 있습니다.
바로 속성과 기능입니다.
객체 지향 프로그래밍을 시작하기 위해서는 객체가 가진 속성과 기능을 골라낼 수 있는 눈이 필요합니다.
클래스는 객체를 만들기 위한 청사진입니다.
예외처리하기
프로그래머에게 가장 끔찍한 경험이라면 고객이나 중요한 인사를 대상으로 자신이 만든 프로그램을 시연하다가 버그가 발견되는 경우일 것입니다.
C#은 프로그램이 비정상적인 상황을 만났을 때 이를 처리하는 예외 처리를 지원합니다.
예외처리는 프로그래머가 생각한 시나리오에서 벗어나는 사건 이것을 예외 Exeption 이라고 부릅니다.
그리고 예외가 프로그램 오류나 다운으로 이어지지 않도록 적절하게 처리하는 것을 예외 처리 Exception Handling 라고 합니다.
System.Exception 클래스는 모든 예외의 조상입니다.
C#에서 모든 예외 클래스는 반드시 이 클래스로부터 상속 받아야 합니다.
상속 관계로 인해 모든 예외 클래스들은 System.Exception 형식으로 간주할 수 있고 System.Exception 형식의 예외를 받는 catch 절 하나면 모든 예외를 다 받아낼 수 있습니다.
이책은 C#을 처음 접하는분들이나 중급정도의 스킬까지 향상을 원하는 분들에게 추천드리고 싶은 책입니다.
C#을 처음 배우는분들에게도 친절하게 잘 가이드가 되어 있어서 옆에 두고두고 궁금한게 있을 때마다 찾이볼 수 있도록 구성되어 있어서 참 좋은 것 같습니다.
단계마다 학습 목표를 원할히 해주고 있어서 C# 을 체계적으로 배울 수 있도록 구성된 점도 좋았던 것 같습니다.
C# 입문서로 어떤 책을 사야할지 고민하고 있는분들에게 추천드리고 싶은 책이었습니다.