IT공부/IT서적

[헤드퍼스트 C#] Chapter 1. 멋진 프로그램을 만들어 봅시다!

shine94 2025. 5. 17. 23:16

* 해당 글은 시작하세요! 헤드퍼스트 C# 도서를 읽고 정리한 글입니다.

   https://product.kyobobook.co.kr/detail/S000211338172

 

헤드 퍼스트 C# | 앤드류 스텔만 - 교보문고

헤드 퍼스트 C# | 상상을 초월하는 객체지향 C# 학습법 직관적인 설명과 다채로운 구성으로 생생하게 체험하는 C# 프로그래밍재치 넘치는 설명과 틀에 박히지 않은 구성으로 복잡한 개념도 쉽게

product.kyobobook.co.kr

   https://github.com/head-first-csharp/fourth-edition

 

GitHub - head-first-csharp/fourth-edition: Code and graphics for the projects in the 4th edition of Head First C#

Code and graphics for the projects in the 4th edition of Head First C# - head-first-csharp/fourth-edition

github.com

 

 

 

 

* WPF(Windows Presentation Foundation)

  .NET Framework 기반의 윈도우 데스크톱 UI 프레임워크

 

* UI 프레임워크(User Interface Framework)

   버튼, 창, 텍스트 박스 등의 UI 요소를 쉽게 구성하고 제어할 수 있도록 도와주는 코드 집합

 

* WPF처럼 GUI 중심의 개발은 Rider에서 지원되지 않기 때문에, 해당 작업은 Visual Studio에서만 진행할 예정

   플랫폼 : .NET 4.7.2

   프레임워크 : WPF

   컴파일러 : MSVC(Microsoft C# Compiler)

 

* 최종적으로 작업하기 편리했던 구조

 

* 이모지

   https://emojipedia.org/nature

 

🐻 Animals & Nature Emoji List

Emojis from your emoji keyboard for animals, birds, nature, and weather. Select the emoji to learn its meaning, copy and paste the emoji, see its different...

emojipedia.org

 

* XML

   데이터를 표현하고 전달하기 위한 마크업 언어

   ㄴ 마크업 언어? 태그를 통해 구조와 의미를 표시하는 언어

 

* XAML

   UI 요소를 정의하기 위한 XML 기반의 선언형 UI 언어

   ㄴ 선언적(Declarative)? 무엇을 원하는지만 말하기

                                         (추상적임, 어떻게 구현할지는 직접 말하지 않음)

 

* 크로스플랫폼 애플리케이션(Cross-platform application)

   여러 운영체제(플랫폼)에서 동일한 코드 기반으로 실행될 수 있는 애플리케이션

 

* 게임 설계 과정

   (1) 프로젝트 만들기 → (2) 화면 디자인 하기 → (3) C# 코드 작성하기 → (4) 마우스 클릭 처리하기 → (5) 타이머 추가하기

 

   - (1) 프로젝트 만들기 : 개발 환경 세팅

   - (2) 화면 디자인 하기 : 기획된 UI를 마치 웹의 HTML처럼 뼈대를 완성하는 작업

   - (3) C# 코드 작성하기 : 만들어진 UI 뼈대에 동작을 부여

   - (4), (5) : 결국 (3)의 C# 코드 작성과 본질적으로 동일한 작업이며, 단지 순서를 세분화 했음

 

이벤트(Event)

   어떤 동작이나 상태 변화가 발생했음을 알리는 신호

 

이벤트 처리기(event handler)

   마우스 클릭, 더블 클릭, 키 입력, 창 크기 변경 등의 이벤트에 반응해서 호출되는 메서드

 

* 디버거(debugger)

   버그를 찾아내고 제거하는 도구

 

* 동물 카드 짝 맞추기 게임 구현 - 책 샘플

   마우스 클릭 이벤트를 활용해 카드 짝 맞추기 기능이 동작하도록 구현되어 있음

 

공부하면서 WPF가 안드로이드의 개발 방식과 매우 흡사하다는 점을 느꼈다

   XAML로 화면을 구성하고, Java 대신 C# 코드로 동작을 부여하며,

   안드로이드의 mainActivity처럼 진입점을 설정하는 방식까지 닮아 있었다 😲😯

   그뿐만 아니라 마치 웹 페이지를 구성하는 듯한 느낌도 들었다

   다시 한 번 느낀 것이지만,

   사용하는 언어나 플랫폼에 따라 세부적인 사용법은 다르더라도, 전체적인 구성 방식이나 흐름은 크게 보면 유사하다