사전학습 6일차

윤서아·7일 전

💻 C# 개념 정리 및 OOP 이해하기
🟢 1. C#이란?
C Sharp은 마이크로소프트에서 2000년에 만든 객체 지향 프로그래밍 언어다.
처음에는 그냥 프로그래밍 언어라고만 생각했는데, 조금 알아보니까 단순히 코드를 쓰는 게 아니라 구조를 만들어서 조립하는 방식이라는 느낌이 들었다. 예를 들어 자동차를 만든다고 하면 엔진, 바퀴, 핸들 같은 부품을 각각 만들고 조립하는 것처럼, C#도 코드들을 기능별로 나눠서 조합하는 방식이라고 이해했다.

🟢 2. C#의 주요 특징
✔ 강력한 타입 시스템 : C#은 변수를 사용할 때 미리 어떤 종류의 데이터인지 정해줘야 한다. 예를 들어 숫자를 넣는 변수에 갑자기 문자를 넣으려고 하면 실행 전에 오류가 발생한다.
👉 직접 해보기 전에는 귀찮을 것 같았는데, 오히려 실수를 미리 잡아줘서 안정적이라는 느낌이 들었다.

✔ 자동 메모리 관리 : 보통 프로그램에서는 사용한 메모리를 직접 정리해야 하는 경우도 있는데, C#은 가비지 컬렉션(Garbage Collection) 기능으로 자동으로 정리해준다.
👉 개발자가 메모리까지 신경 안 써도 된다는 점에서 초보자 입장에서는 훨씬 편하다고 느꼈다.

✔ .NET 플랫폼 기반 : C#은 .NET 위에서 동작한다. 코드를 작성하면 바로 실행되는 게 아니라 중간 언어(IL)로 바뀌고, 실행할 때 다시 컴퓨터가 이해할 수 있는 코드로 변환된다.
👉 처음에는 좀 어려웠는데 번역기를 한 번 더 거친다 정도로 이해하니까 편했다.

✔ 다양한 분야에서 사용 가능 : C#은 생각보다 활용 범위가 넓다.
1) 웹 개발 (ASP.NET)
2) 프로그램 개발 (WinForms, WPF)
3) 모바일 앱
4) 게임 개발 (Unity)
👉 특히 Unity에서 사용된다는 점 때문에 게임 개발을 배우는 데 적합한 언어라고 생각했다.

🟢 3. OOP(객체 지향 프로그래밍) 이해하기
C#에서 가장 중요한 개념이 바로 객체 지향 프로그래밍(OOP)이다. 처음에는 이름부터 어려워 보였는데, 생각보다 개념 자체는 단순했다.

✔ 쉽게 이해한 OOP 개념 : 객체 지향은 기능별로 나눠서 객체 단위로 관리하는 방식 이다. 예를 들어 게임 캐릭터를 만든다고 하면 공격 기능, 체력, 이동 기능 이걸 하나로 묶어서 캐릭터 객체로 만드는 것이다.

👉 즉, 코드를 한 덩어리로 관리하는 게 아니라 역할별로 나눠서 조립하는 방식이라고 이해했다.

✔ OOP의 핵심 개념 (간단 정리)
1. 캡슐화 : 데이터와 기능을 하나로 묶는 것
👉 외부에서 함부로 건드리지 못하게 보호하는 느낌
2. 상속 : 기존 객체의 기능을 물려받는 것
👉 예: 기본 캐릭터 → 전사, 마법사로 확장
3. 다형성 : 같은 기능을 다르게 사용할 수 있는 것
👉 같은 공격 함수라도 캐릭터마다 다른 공격이 나가는 느낌
4. 추상화 : 필요한 핵심만 남기고 단순화하는 것
👉 복잡한 내부 구조는 숨기고 사용 방법만 보이게 만드는 것

🟢 4. 내가 이해한 정리 처음에는 C#이 그냥 코딩 언어라고 생각했는데, 정리해보니까 구조적으로 설계하는 언어라는 느낌이 들었다. 특히 OOP 개념을 보면서 게임 개발에 왜 중요한지도 조금 이해됐다. 게임을 만든다고 하면 캐릭터, 몬스터, 아이템 이런 것들을 각각 객체로 만들어서 관리해야 하기 때문에 객체 지향 방식이 자연스럽게 필요한 것 같았다.

🟢 💡 느낀 점 : 아직은 코드도 많이 못 써봤고 개념도 완전히 이해했다고 말하긴 어렵지만, 왜 이렇게 배우는지는 조금 알 것 같았다. 특히 단순히 코드를 외우는 게 아니라
구조를 이해하는 게 중요하다는 걸 느꼈고, 앞으로 Unity로 게임을 만들 때 이 개념들이 어떻게 쓰이는지 직접 확인해보고 싶다.

0개의 댓글