| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 습관형성 #직장인자기계발 #오공완
- 드롭다운
- Unity
- readonly
- 깊이탐색
- 티스토리챌린지
- C#
- raycast
- 디지털트윈
- list clear
- 너비탐색
- articulation body
- 최소신장트리 mst
- 크루스칼
- unity sparkmain(clone)
- unity korea
- removeAll
- navisworks api
- sparkmain(clone)
- GetComponent
- 오블완
- dfs
- 최단거리 알고리즘
- 트리구조
- 유니티 sparkmain(clone)
- 행동트리
- sparkmain(clone) 무한생성
- Simulation
- dropdown
- 유니티
- Today
- Total
낑깡의 게임 프로그래밍 도전기
36일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기 본문

오늘도 회사에서 점심을 먹고 강의를 듣기 시작했다.

20분 조금 더 들었다.

C#을 공부하면서 다양한 문법들을 하나씩 접해봤다. 그중에서도 실무와 밀접하게 연결되어 있는 using, dispose, 인덱서, try-catch, 그리고 확장 메서드에 대해 배워봤다. 어떤 개념인지, 왜 필요한지에 대해 생각하게 되었고, 이를 정리해본다.
using과 dispose는 자원을 안전하게 다룰 수 있게 해준다
파일을 열거나 네트워크에 연결하는 등 시스템 자원을 사용하는 작업을 하다 보면, 사용이 끝난 후 반드시 자원을 해제해줘야 한다고 한다. 그렇지 않으면 리소스가 남아서 메모리 누수가 생기거나, 파일이 잠겨버리는 문제가 생길 수 있다고 한다.
이때 사용하는 것이 using 문이라고 한다. using 블록 안에 자원을 생성하면, 블록이 끝날 때 자동으로 Dispose()가 호출되어 자원이 정리된다고 한다. 이를 통해 try-finally 구문 없이도 깔끔하게 리소스를 정리할 수 있게 된다고 한다. 특히 IDisposable 인터페이스를 구현한 객체에 사용된다고 한다.
인덱서는 객체를 배열처럼 다룰 수 있게 해준다
클래스 안에 여러 데이터를 담아놓고, 마치 배열처럼 접근하고 싶을 때가 있다고 한다. 그럴 때 사용하는 것이 인덱서라고 한다. 인덱서는 클래스나 구조체에 this[] 형태로 정의할 수 있고, 외부에서 obj[0] 이런 식으로 사용할 수 있게 해준다고 한다.
이를 통해 외부 코드에서는 내부 구조를 몰라도 직관적으로 데이터를 다룰 수 있게 된다고 한다. 컬렉션을 감싼 클래스나 래핑된 자료구조에서 자주 쓰인다고 한다.
try-catch는 예외 상황을 안전하게 처리하게 해준다
코드를 작성할 때 항상 정상적으로만 동작하리라 기대할 수는 없다고 한다. 예를 들어 문자열을 숫자로 바꾸려는데 잘못된 입력이 들어오거나, 파일을 열려는데 파일이 없을 수 있다고 한다. 이런 예외 상황을 처리하기 위해 사용하는 것이 try-catch 구조라고 한다.
try 블록 안에 예외가 날 수 있는 코드를 작성하고, catch 블록에서 예외를 잡아 처리하면 프로그램이 비정상적으로 종료되지 않게 막을 수 있다고 한다. 상황에 따라 finally 블록을 함께 사용해 리소스를 정리할 수도 있다고 한다. 예외를 정확히 이해하고 필요한 만큼만 잡는 것이 중요하다고 한다.
확장 메서드는 기존 타입에 기능을 추가할 수 있게 해준다
기존에 정의된 클래스에 새로운 기능을 추가하고 싶을 때가 있다고 한다. 그런데 그 클래스가 내가 작성한 것이 아니라면, 직접 코드를 수정할 수 없는 경우도 많다고 한다. 이럴 때 확장 메서드를 사용하면 기존 타입에 메서드를 추가하는 것처럼 사용할 수 있다고 한다.
확장 메서드는 정적(static) 클래스 안에 정의되고, 첫 번째 매개변수에 this 키워드를 붙여 대상 타입을 지정한다고 한다. 이렇게 하면 obj.MyMethod()처럼 기존 클래스에 원래 있던 메서드처럼 사용할 수 있게 된다고 한다. 코드를 깔끔하게 유지하면서 기능을 확장할 수 있어 유용하다고 한다.
이번에 배운 이 네 가지 문법은 앞으로 코드를 더 견고하고 직관적으로 만들기 위해 꼭 익혀야 할 요소들이라고 생각한다. 단순히 문법을 외우는 것이 아니라, 언제 왜 쓰는지를 이해하면서 써야 진짜 내 것이 된다고 느꼈다. 앞으로도 코드를 짤 때 이 개념들을 자연스럽게 떠올리며 활용할 수 있도록 반복해서 익히고 싶다.

디지털 필기와 한컷!

오늘부로 51클립을 들었다.
내일도 파이팅!
'인강 후기' 카테고리의 다른 글
| 38일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기 (4) | 2025.08.07 |
|---|---|
| 37일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기 (4) | 2025.08.06 |
| 35일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기 (7) | 2025.08.04 |
| 34일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기 (4) | 2025.08.03 |
| 33일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기 (6) | 2025.08.02 |