* 해당 글은 시작하세요! 헤드퍼스트 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
* Main() 메서드
C# 프로그램 실행이 시작되는 메서드
진입점(entry point)이라고 부르며, 프로그램의 시작 지점이다
* 솔루션(Solution)
하나 이상의 프로젝트를 하나로 묶어 관리하는 최상위 단위
비주얼 스튜디오에서 사용하는 전용 단위이며, 확장자는 .sln이다
https://shine94.tistory.com/445
[MMORPG 게임 개발(C#, Unity)] Part 4. 개론
* 해당 글은 게임 프로그래머 입문 올인원 강의를 보고 정리한 글입니다 https://www.inflearn.com/roadmaps/355#introduce MMORPG 게임 개발, 켠김에 끝판왕까지! (유니티 + C#) 로드맵 - 인프런C#, Unity 스킬을 학
shine94.tistory.com
* partial 키워드
클래스를 여러 파일에 나누어 작성
클래스, 구조체, 인터페이스 등을 여러 파일에 나누어 작성할 때 사용
* C# 플랫폼
[.NET 5 이전]
.NET Framework 또는 .NET Core
[.NET 5부터]
.NET
ㄴ 이름 통합, 기술적으로는 Core 기반
[유니티]
유니티 전용 런타임 플랫폼
사용 환경 | 사용하는 플랫폼 | 설명 |
일반 C# | .NET | C# → IL → JIT (또는 NativeAOT) → 네이티브 |
Unity에서의 C# | 유니티 전용 런타임 플랫폼 | C# → IL → Mono(JIT 또는 AOT) 또는 IL2CPP(IL → C++로 변환) → 네이티브 |
구분 | JIT(Just-in-Time) | AOT(Ahead-of-Time) |
언제 컴파일? | 프로그램 실행 중에 | 프로그램 빌드 시점에 |
컴파일 대상 | IL → 네이티브 (런타임 시) | IL → 네이티브 (사전 변환) |
https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/overview
What's new in .NET 10
Learn about the new features introduced in .NET 10 for the runtime, libraries, and SDK. Also find links to what's new in other areas, such as ASP.NET Core.
learn.microsoft.com
https://devblogs.microsoft.com/dotnet/introducing-net-5/
Introducing .NET 5 - .NET Blog
Today, we’re announcing that the next release after .NET Core 3.0 will be .NET 5. This will be the next big release in the .NET family. There will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Androi
devblogs.microsoft.com
https://docs.unity3d.com/2022.3/Documentation/Manual/unity-architecture.html
https://shine94.tistory.com/417
[ETC] 자바는 JVM 생략 OK, C#은 왜 .NET까지 묶일까?
☕ 자바는 "JVM 포함"이 당연한 생태계 자바는 애초에 "Write Once, Run Anywhere"를 목표로 만들어진 언어다 즉, 어디서든 돌아가려면 당연히 JVM이라는 실행 환경이 전제가 되어야 했다 그래서 자바라는
shine94.tistory.com
* .dll(Dynamic Link Library)
라이브러리 확장자
(+) C++은 정적(.lib)과 동적(.dll) 라이브러리를 모두 지원하지만, C#은 항상 동적(.dll) 라이브러리만 사용 가능하다
https://shine94.tistory.com/407
[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 21장. Dynamic Linking Library
* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다 https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우
shine94.tistory.com
* .exe(Executable)
실행 파일 확장자
운영체제에서 직접 실행 가능한 파일이다
* 디버그 모드에서는 로컬 변수의 값을 디버거에서 추적할 수 있도록,
JIT 컴파일러가 변수에 기본값(예: 0, null)을 명시적으로 초기화하고 메모리에 할당한다
* 릴리즈 모드에서는 컴파일러 및 JIT 최적화에 따라 사용하지 않는 로컬변수는 제거되거나,
메모리에 저장되지 않고 레지스터를 통해 처리되므로,
메모리 할당 및 초기화 코드는 생성되지 않는다
private static void OperatorExamples()
{
int nice;
int width = 3;
00007FFC975E3E84 push rax
00007FFC975E3E85 lea rbp,[rsp+50h]
00007FFC975E3E8A vxorps xmm4,xmm4,xmm4
00007FFC975E3E8E vmovdqa xmmword ptr [rbp-30h],xmm4
00007FFC975E3E93 vmovdqa xmmword ptr [rbp-20h],xmm4
00007FFC975E3E98 vmovdqa xmmword ptr [rbp-10h],xmm4
00007FFC975E3E9D cmp dword ptr [7FFC9766E328h],0
00007FFC975E3EA4 je MyFirstConsoleApp.Program.OperatorExamples()+02Bh (07FFC975E3EABh)
00007FFC975E3EA6 call 00007FFCF7284EE0
00007FFC975E3EAB mov dword ptr [rbp-4],6
00007FFC975E3EB2 mov ecx,3
00007FFC975E3EB7 inc ecx
00007FFC975E3EB9 imul ecx,dword ptr [rbp-4]
00007FFC975E3EBD mov dword ptr [rbp-10h],ecx
Console.WriteLine(area);
00007FFC975E3EC0 mov ecx,dword ptr [rbp-10h]
00007FFC975E3EC3 call qword ptr [CLRStub[MethodDescPrestub]@00007FFC977EDCF8 (07FFC977EDCF8h)]
string result = "The area";
00007FFC975E3EC9 mov rcx,28B1CDC8390h
00007FFC975E3ED3 mov qword ptr [rbp-18h],rcx
00007FFC975E3ED7 mov rcx,28B1CDC83B8h
00007FFC975E3EE1 mov qword ptr [rbp-20h],rcx
00007FFC975E3EE5 lea rcx,[rbp-10h]
00007FFC975E3EE9 call qword ptr [CLRStub[MethodDescPrestub]@00007FFC9752DAE8 (07FFC9752DAE8h)]
00007FFC975E3EEF mov qword ptr [rbp-28h],rax
result += " is " + area;
00007FFC975E3EF3 mov rcx,qword ptr [rbp-18h]
00007FFC975E3EF7 mov rdx,qword ptr [rbp-20h]
00007FFC975E3EFB mov r8,qword ptr [rbp-28h]
00007FFC975E3EFF call qword ptr [CLRStub[MethodDescPrestub]@00007FFC975D6B20 (07FFC975D6B20h)]
00007FFC975E3F05 mov qword ptr [rbp-30h],rax
Console.WriteLine(result);
00007FFC975E3F09 mov rcx,qword ptr [rbp-30h]
00007FFC975E3F0D call qword ptr [CLRStub[MethodDescPrestub]@00007FFC977EDD70 (07FFC977EDD70h)]
bool truthValue = true;
00007FFC975E3F13 mov ecx,1
00007FFC975E3F18 call qword ptr [CLRStub[MethodDescPrestub]@00007FFC977EDC50 (07FFC977EDC50h)]
}
00007FFC975E3F1E nop
00007FFC975E3F1F add rsp,50h
00007FFC975E3F23 pop rbp
00007FFC975E3F24 ret
*UI(User Interface) - 시각적이고 물리적인 점접
사용자가 게임과 상호작용할 수 있도록 해주는 시각적 요소와 조작 수단
* UX(User eXperience) - 그 점점을 통한 심리적 경험
사용자가 느끼는 전반적인 경험과 만족감
* 게임의 역학(mechanics) - 그 경험을 만드는 내부 논리
게임 플레이를 구성하는 규칙과 시스템(점프, 이동 상호 작용 등)
* 컨트롤 종류
(1) 텍스트 상자
(2) 목록 상자
(3) 콤보 상자
(4) 라디오 상자
(5) 슬라이더
(6) 편집 가능한 콤보 상자
* 비주얼 스튜디오는 코드를 실행 가능한 바이너리(binary)로 빌드한다
* 컨트롤은 다양한 이벤트를 발생시킨다
이러한 이벤트는 마우스 클릭, 선택 영역 변경, 텍스트 입력 등이 있다
'IT공부 > IT서적' 카테고리의 다른 글
[헤드퍼스트 C#] Chapter 4. 참조 이해하기 (0) | 2025.06.16 |
---|---|
[헤드퍼스트 C#] Chapter 3. 이해하기 쉬운 코드 만들기 (0) | 2025.06.07 |
[헤드퍼스트 C#] Chapter 1. 멋진 프로그램을 만들어 봅시다! (0) | 2025.05.17 |
[시작하세요! C#10 프로그래밍] 3장. C# 기초 (0) | 2025.04.10 |
[시작하세요! C#10 프로그래밍] 1장. 들어가면서, 2장. 개발 환경 준비 (0) | 2025.04.10 |