<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>seoa_25.log</title>
        <link>https://velog.io/</link>
        <description>밍</description>
        <lastBuildDate>Mon, 06 Apr 2026 06:19:06 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>seoa_25.log</title>
            <url>https://velog.velcdn.com/images/seoa_25/profile/7f92d9a1-98f1-44e6-bff8-186adad444dd/image.jpg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. seoa_25.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/seoa_25" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[사전학습 10일차 C#반복문]]></title>
            <link>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-10%EC%9D%BC%EC%B0%A8-C%EB%B0%98%EB%B3%B5%EB%AC%B8</link>
            <guid>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-10%EC%9D%BC%EC%B0%A8-C%EB%B0%98%EB%B3%B5%EB%AC%B8</guid>
            <pubDate>Mon, 06 Apr 2026 06:19:06 GMT</pubDate>
            <description><![CDATA[<p>✅ C# – 반복문 
🟦 반복문이란?
반복문은 말 그대로 같은 코드를 여러 번 실행할 때 사용하는 문법이다. 처음에는 그냥 여러 번 쓰면 되는 거 아닌가? 라고 생각했는데, 예를 들어 100번 반복해야 한다면 코드를 100줄 쓰는 건 비효율적이다. 그래서 이 조건까지 계속 반복해! 이렇게 컴퓨터에게 한 번에 명령할 수 있는 게 반복문이다.</p>
<p>🟦 C# 반복문의 종류
반복문은 상황에 따라 여러 가지 방식으로 사용할 수 있다.</p>
<p>1️⃣ for 반복문
가장 기본이고 가장 많이 사용할 것 같은 반복문이다.
횟수가 정해져 있을 때 사용하는 반복문
for (int i = 1; i &lt;= 5; i++)
{
    Console.WriteLine($&quot;{i}번째 출력입니다&quot;);
}</p>
<p>이 코드를 직접 이해해보면 이렇게 나눌 수 있었다.
int i = 1 → 시작값 설정
i &lt;= 5 → 조건 (이 조건까지 반복)
i++ → 반복할 때마다 1씩 증가
실제로 돌아가는 흐름은 
i = 1 → 실행
i = 2 → 실행
i = 3 → 실행
i = 4 → 실행
i = 5 → 실행
i = 6 → 조건 실패 → 종료
반복 횟수를 직접 조절할 수 있어서 제일 직관적이었다.</p>
<p>2️⃣ while 반복문
조건이 참인 동안 계속 반복하는 방식
int count = 0;</p>
<p>while (count &lt; 3)
{
    Console.WriteLine(&quot;안녕하세요!&quot;);
    count++;
}</p>
<p>이건 조건이 계속 true면 계속 반복된다. 직접 보면서 느낀 건 증가식(count++)을 안 쓰면 무한 반복이 된다는 점이 중요했다.</p>
<p>3️⃣ foreach 반복문
배열이나 리스트에 있는 값을 하나씩 꺼내는 반복문
string[] colors = { &quot;빨강&quot;, &quot;초록&quot;, &quot;파랑&quot; };</p>
<p>foreach (string color in colors)
{
    Console.WriteLine(color);
}</p>
<p>이건 반복 횟수를 신경 안 써도 되고 그냥 안에 있는 값을 하나씩 자동으로 꺼내줘서 편했다.</p>
<p>✅ 언제 어떤 반복문을 쓰는지 정리해보면 이렇게 나눌 수 있었다.
횟수가 정해져 있을 때 → for문
조건에 따라 반복할 때 → while문
배열/리스트 사용할 때 → foreach문</p>
<p>🧪 과제 풀이
조건 : 안녕하세요!를 5번 출력하기
namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            for (이곳을 채우세요.)
            {
                Console.WriteLine(&quot;안녕하세요!&quot;);
            }</p>
<pre><code>    }
}</code></pre><p>}</p>
<p>답 : 
namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            for (int i = 0; i &lt; 5; i++)
            {
                Console.WriteLine(&quot;안녕하세요!&quot;);
            }
        }
    }
}</p>
<p>int i = 0 → 0부터 시작
i &lt; 5 → 5보다 작을 때까지 반복 (총 5번)
i++ → 반복할 때마다 1씩 증가</p>
<p>🔥 느낀 점 : 이번 반복문을 배우면서 느낀 건 처음에는 구조가 복잡해 보여서 헷갈렸는데 패턴만 이해하면 오히려 편한 문법이라는 생각이 들었다. 특히 게임 만들 때 생각해보니까 몬스터 여러 마리 생성, 반복 공격 처리, 아이템 목록 출력, 이런 것들에서 무조건 쓰일 것 같아서 중요도가 높은 개념이라고 느꼈다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[사전학습 9일차 C#조건문]]></title>
            <link>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-9%EC%9D%BC%EC%B0%A8-C%EC%A1%B0%EA%B1%B4%EB%AC%B8</link>
            <guid>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-9%EC%9D%BC%EC%B0%A8-C%EC%A1%B0%EA%B1%B4%EB%AC%B8</guid>
            <pubDate>Sun, 05 Apr 2026 08:33:55 GMT</pubDate>
            <description><![CDATA[<p>✅ C# - 조건문
🟦 조건문이란?
조건문은 말 그대로 이 조건이 맞으면 이거 실행하고, 아니면 저거 실행해! 이걸 컴퓨터한테 알려주는 문법이다. 처음에는 그냥 어렵게 느껴졌는데, 생각해보니까 일상에서도 계속 쓰고 있었다. 예를 들어 (비 오면 우산 가져간다) 이게 그냥 if문이었다. 코딩에서는 감으로 판단 못하니까 조건을 정확하게 숫자나 값으로 표현해줘야 한다는 게 핵심이다.</p>
<p>🟦 C# 조건문의 종류
조건문은 상황에 따라 여러 가지 형태로 사용할 수 있다.</p>
<p>1️⃣ if / else if / else
가장 기본적인 조건문이고, 조건이 여러 개일 때 많이 사용한다.
int age = 22;</p>
<p>if (age &gt;= 65)
{
    Console.WriteLine(&quot;노년기&quot;);
}
else if (age &gt;= 20)
{
    Console.WriteLine(&quot;성인&quot;);
}
else
{
    Console.WriteLine(&quot;청소년&quot;);
}</p>
<p>이 코드는 위에서부터 조건을 하나씩 확인하면서 맞는 조건이 나오면 그 부분을 실행한다. 여기서는 age가 22이기 때문에 성인이 출력된다. 조건 순서도 중요하다는 점이었다.</p>
<p>2️⃣ switch
switch문은 값이 딱 정해져 있을 때 사용하면 편하다.</p>
<p>int menu = 2;</p>
<p>switch (menu)
{
    case 1:
        Console.WriteLine(&quot;김치찌개&quot;);
        break;
    case 2:
        Console.WriteLine(&quot;된장찌개&quot;);
        break;
    case 3:
        Console.WriteLine(&quot;비빔밥&quot;);
        break;
    default:
        Console.WriteLine(&quot;없는 메뉴입니다.&quot;);
        break;
}</p>
<p>이 코드는 menu 값에 따라 실행되는 내용이 달라진다. menu가 2이기 때문에 된장찌개가 출력된다. if문보다 경우가 정해져 있을 때는 switch가 더 깔끔하다는 느낌을 받았다.</p>
<p>3️⃣ 삼항 연산자
삼항 연산자는 간단한 조건을 한 줄로 표현할 때 사용한다.</p>
<p>int age = 17;
string result = (age &gt;= 18) ? &quot;성인&quot; : &quot;미성년자&quot;;</p>
<p>Console.WriteLine(result);</p>
<p>이 코드는 나이가 18 이상이면 성인, 아니면 미성년자를 출력한다.</p>
<p>✅ 언제 어떤 조건문을 쓰는지 정리해보면 이렇게 나눌 수 있다.
조건이 여러 개일 때 → if / else if / else
값이 딱 정해져 있을 때 → switch
간단하게 결과만 바꿀 때 → 삼항 연산자</p>
<p>🧪 과제 풀이
✔ 문제 조건
나이가 20세 이상이거나
쿠폰이 있으면 입장 가능</p>
<p>namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int age = 21;
            bool hasCoupon = true;</p>
<pre><code>        if (이곳을 채우세요.)
        {
            Console.WriteLine(&quot;입장 가능합니다.&quot;);
        }
        else
        {
            Console.WriteLine(&quot;입장 불가입니다.&quot;);
        }

    }
}</code></pre><p>}</p>
<p>답 --------------------------------------------------------------------
namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int age = 21;
            bool hasCoupon = true;</p>
<pre><code>        if (age &gt;= 20 || hasCoupon == true)
        {
            Console.WriteLine(&quot;입장 가능합니다.&quot;);
        }
        else
        {
            Console.WriteLine(&quot;입장 불가입니다.&quot;);
        }
    }
}</code></pre><p>}</p>
<p>✅ 풀이 과정 
이 조건을 풀어보면 age &gt;= 20 → 나이가 20 이상인지 확인 hasCoupon == true → 쿠폰이 있는지 확인 || → 둘 중 하나라도 맞으면 true 그래서 둘 중 하나만 만족해도입장이 가능하도록 조건을 만들었다.</p>
<p>🔥 느낀 점 : 이번에 조건문을 배우면서 느낀 건 단순히 문법을 외우는 게 아니라 어떤 조건을 어떻게 설정할지 생각하는 게 더 중요하다는 점이었다. 특히 나중에 게임을 만든다고 생각해보면 레벨 제한, 아이템 조건, 입장 조건, 이런 것들이 전부 조건문으로 구현될 것 같아서 기초지만 중요한 내용이라고 느꼈다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[사전학습 8일차 C#연산자]]></title>
            <link>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-8%EC%9D%BC%EC%B0%A8-C%EC%97%B0%EC%82%B0%EC%9E%90</link>
            <guid>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-8%EC%9D%BC%EC%B0%A8-C%EC%97%B0%EC%82%B0%EC%9E%90</guid>
            <pubDate>Sat, 04 Apr 2026 08:36:34 GMT</pubDate>
            <description><![CDATA[<p>🧮 연산자란? 연산자는 쉽게 말하면 값이랑 값 사이에서 계산하거나 판단해주는 기호라고 보면 된다. 처음에는 그냥 수학 기호 느낌이었는데, 코딩에서는 단순 계산뿐만 아니라 조건 판단할 때 진짜 많이 쓰인다는 걸 느꼈다.
예를 들어 이런 코드:
int age = 20;</p>
<p>if (age &gt;= 18)
{
    Console.WriteLine(&quot;성인입니다.&quot;);
}</p>
<p>여기서 &gt;=가 바로 연산자인데, 18보다 크거나 같은지를 컴퓨터가 판단하게 해주는 역할이다. 결국 컴퓨터는 이런 조건을 보고 true(참) / false(거짓) 으로 판단한다.</p>
<p>🧾 내가 이해한 연산자 종류
1️⃣ 산술 연산자 (계산용) 이건 진짜 익숙했다. 거의 수학이랑 똑같다.</p>
<ul>
<li>더하기</li>
<li>빼기</li>
<li>곱하기
/ 나누기
% 나머지 (이건 처음 알았는데 생각보다 많이 쓸 것 같음)
예: int result = 7 % 3;  // 결과는 1</li>
</ul>
<p>2️⃣ 비교 연산자 (조건 판단용) 이게 조건문에서 핵심이라고 느꼈다.
== 같다 (이거 중요! = 하나 아님)
!= 다르다</p>
<blockquote>
<p>크다
&lt; 작다
= 크거나 같다
&lt;= 작거나 같다
👉 특히 ==는 처음에 헷갈렸는데 값 비교할 때는 반드시 두 개 써야 한다.</p>
</blockquote>
<p>3️⃣ 논리 연산자 (조건 연결용) 이건 약간 퍼즐 느낌이었다.
&amp;&amp; → 그리고 (둘 다 만족해야 함)
|| → 또는 (하나만 만족해도 됨)
! → 반대
내가 이해한 느낌으로 정리하면 : &amp;&amp; = 까다로운 조건, || = 좀 느슨한 조건</p>
<p>🎯 내가 이해한 핵심 포인트
연산자는 조건문을 만들기 위한 핵심 도구 결과는 무조건 true / false 특히 &amp;&amp;, ||는 실제 게임 만들 때 많이 쓸 것 같음 (예: 레벨도 높고 아이템도 있어야 입장 가능 같은 거)</p>
<p>🧪 과제 풀이
문제 조건 : 나이가 65세 이상이거나, VIP이면 우대 대상
age (①) 65 (②) isVip == true
답 = ① &gt;= ② || =&gt; age &gt;= 65 || isVip == true</p>
<p>🔥 내가 느낀 점
이번에 배우면서 느낀 건 코딩은 단순히 값 넣는 게 아니라 조건을 어떻게 설계하느냐가 핵심이다 라는 느낌이었다. 특히 나중에 게임 만들 때 레벨 제한, 아이템 조건, 퀘스트 조건 이런 거 전부 연산자로 만들 것 같아서 지금 개념이 꽤 중요하다고 생각했다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[사전학습 7일차]]></title>
            <link>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-7%EC%9D%BC%EC%B0%A8</link>
            <guid>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-7%EC%9D%BC%EC%B0%A8</guid>
            <pubDate>Fri, 03 Apr 2026 03:16:03 GMT</pubDate>
            <description><![CDATA[<p>💻 C# 변수와 데이터 타입 정리</p>
<p>🟢 1. 변수란?
C#에서 변수는 쉽게 말하면 데이터를 담는 상자라고 생각하면 된다. 나는 이걸 보면서
게임 캐릭터 인벤토리 칸 같은 느낌이라고 이해했다. 예를 들어 (이름 저장하는 칸, 나이 저장하는 칸, 경험치 저장하는 칸) 이렇게 각각 따로 만들어서 값을 넣는 느낌이다.</p>
<p>중요한 건 한 번 만들어두면 나중에 계속 꺼내서 쓸 수 있다는 점이다.</p>
<p>🟢 2. 데이터 타입이란? 
Data Type은 그 변수에 어떤 종류의 데이터가 들어가는지 정해주는 것이다. 이걸 나는 이렇게 이해했다:  변수 = 쓰레기통,  데이터 타입 = 분리수거 라벨 (예를 들어 : int → 숫자만 넣는 통, string → 글자만 넣는 통, bool → 참/거짓만 넣는 통) 만약 잘못 넣으면 오류가 난다.</p>
<p>그래서 처음부터 이건 숫자용, 이건 문자용 이렇게 정해주는 게 중요하다.</p>
<p>🟢 3. 변수 선언 방법
C#에서 변수는 이렇게 만든다. = 데이터타입 변수이름 = 값;
✔ 예시
string name = &quot;김오즈&quot;;  // 데이터타입(문자열) 변수이름(name) = 값(&quot;김오즈&quot;);
int age = 30;
bool isStudent = true;</p>
<p>🟢 4. 변수 이름 규칙
변수 이름은 마음대로 지을 수 있는 게 아니라 기본 규칙이 있다.</p>
<p>❌ 안 되는 것
숫자로 시작 (ex: 1name)
띄어쓰기 (ex: my name)
특수문자 (#, @ 등)</p>
<p>✔ 좋은 예
userName
totalPrice
isLoggedIn</p>
<p>나는 개인적으로 무슨 역할인지 보이게 짓는 게 중요하다고 느꼈다.</p>
<p>🟢 5. 주요 데이터 타입 정리
자주 쓰는 것만 간단하게 정리하면
int → 정수 (나이, 점수)
double → 소수 (키, 몸무게)
string → 문자열 (이름, 문장)
bool → 참/거짓 (맞다/아니다)</p>
<p>처음에는 많아 보였는데 결국 숫자 / 문자 / 참거짓 이 세 개로 나뉜다고 생각하면 편했다.</p>
<p>🟢 6. 예제 코드 이해
string studentName = &quot;김오즈&quot;;
int studentAge = 28;
bool hasProgrammingExperience = false;
double heightInMeters = 1.75;</p>
<p>이걸 보면서 느낀 건
이름 → 문자니까 string
나이 → 숫자니까 int
경험 → yes/no니까 bool
키 → 소수니까 double
이렇게 상황에 맞게 타입을 선택하는 게 중요하다는 거였다.</p>
<p>🟢 7. 과제 코드
문제 : 포도라는 데이터를 과일이라는 변수에 담기
namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 과일 정보 변수 만들기
            string fruit = &quot;포도&quot;;   // 문자열 데이터 타입 사용</p>
<pre><code>        // 추가로 내가 이해한 개념 적용해보기
        int fruitCount = 10;     // 과일 개수 (정수)
        bool isFresh = true;     // 신선한지 여부 (참/거짓)

        Console.WriteLine(&quot;=== 과일 정보 ===&quot;);
        Console.WriteLine($&quot;과일 이름: {fruit}&quot;);
        Console.WriteLine($&quot;과일 개수: {fruitCount}개&quot;);
        Console.WriteLine($&quot;신선한가?: {isFresh}&quot;);
    }
}</code></pre><p>}</p>
<p>이번에 배우면서 느낀 건, 변수는 그냥 값을 담는 상자인데 데이터 타입을 꼭 같이 써야 한다는 점이 중요했다.
예를 들어 : string fruit = &quot;포도&quot;; 이 부분을 보면
string → 문자만 담는다고 미리 정해둔 것
fruit → 내가 만든 변수 이름
&quot;포도&quot; → 실제로 넣은 값</p>
<p>이렇게 구조가 딱 정해져 있어서, 나중에 코드를 봐도 헷갈리지 않는다는 느낌이 들었다. 그리고 만약 숫자인데 string으로 넣거나 하면 오류가 나는 것도
분리수거 제대로 안 하면 걸린다는 비유가 딱 맞다고 생각했다.</p>
<p>🟢 8. 내가 이해한 핵심 정리
처음에는 변수랑 데이터 타입이 따로 노는 개념 같았는데, 정리해보니까 둘은 항상 같이 움직인다는 걸 알게 됐다.
변수 = 저장 공간
데이터 타입 = 저장 규칙
이 두 개가 같이 있어야 프로그램이 제대로 돌아간다는 느낌이었다.</p>
<p>🟢 💡 느낀 점
처음에는 그냥 값 넣는 거네? 정도로 생각했는데, 직접 코드를 보니까 생각보다 중요한 개념이었다. 
특히 게임을 만든다고 생각하면 : 체력 (int), 이름 (string), 생존 여부 (bool) 이런 식으로 다 변수로 관리해야 해서 기초지만 정말 많이 쓰일 것 같다는 생각이 들었다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[사전학습 6일차]]></title>
            <link>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-6%EC%9D%BC%EC%B0%A8</link>
            <guid>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-6%EC%9D%BC%EC%B0%A8</guid>
            <pubDate>Thu, 02 Apr 2026 01:48:56 GMT</pubDate>
            <description><![CDATA[<p>💻 C# 개념 정리 및 OOP 이해하기
🟢 1. C#이란?
C Sharp은 마이크로소프트에서 2000년에 만든 객체 지향 프로그래밍 언어다.
처음에는 그냥 프로그래밍 언어라고만 생각했는데, 조금 알아보니까 단순히 코드를 쓰는 게 아니라 구조를 만들어서 조립하는 방식이라는 느낌이 들었다. 예를 들어 자동차를 만든다고 하면 엔진, 바퀴, 핸들 같은 부품을 각각 만들고 조립하는 것처럼, C#도 코드들을 기능별로 나눠서 조합하는 방식이라고 이해했다.</p>
<p>🟢 2. C#의 주요 특징
✔ 강력한 타입 시스템 : C#은 변수를 사용할 때 미리 어떤 종류의 데이터인지 정해줘야 한다. 예를 들어 숫자를 넣는 변수에 갑자기 문자를 넣으려고 하면 실행 전에 오류가 발생한다.
👉 직접 해보기 전에는 귀찮을 것 같았는데, 오히려 실수를 미리 잡아줘서 안정적이라는 느낌이 들었다.</p>
<p>✔ 자동 메모리 관리 : 보통 프로그램에서는 사용한 메모리를 직접 정리해야 하는 경우도 있는데, C#은 가비지 컬렉션(Garbage Collection) 기능으로 자동으로 정리해준다.
👉 개발자가 메모리까지 신경 안 써도 된다는 점에서 초보자 입장에서는 훨씬 편하다고 느꼈다.</p>
<p>✔ .NET 플랫폼 기반 : C#은 .NET 위에서 동작한다. 코드를 작성하면 바로 실행되는 게 아니라 중간 언어(IL)로 바뀌고, 실행할 때 다시 컴퓨터가 이해할 수 있는 코드로 변환된다.
👉 처음에는 좀 어려웠는데 번역기를 한 번 더 거친다 정도로 이해하니까 편했다.</p>
<p>✔ 다양한 분야에서 사용 가능 : C#은 생각보다 활용 범위가 넓다.</p>
<p>1) 웹 개발 (ASP.NET)
2) 프로그램 개발 (WinForms, WPF)
3) 모바일 앱
4) 게임 개발 (Unity)
👉 특히 Unity에서 사용된다는 점 때문에 게임 개발을 배우는 데 적합한 언어라고 생각했다.</p>
<p>🟢 3. OOP(객체 지향 프로그래밍) 이해하기
C#에서 가장 중요한 개념이 바로 객체 지향 프로그래밍(OOP)이다. 처음에는 이름부터 어려워 보였는데, 생각보다 개념 자체는 단순했다.</p>
<p>✔ 쉽게 이해한 OOP 개념 : 객체 지향은 기능별로 나눠서 객체 단위로 관리하는 방식 이다. 예를 들어 게임 캐릭터를 만든다고 하면 공격 기능, 체력, 이동 기능 이걸 하나로 묶어서 캐릭터 객체로 만드는 것이다.</p>
<p>👉 즉, 코드를 한 덩어리로 관리하는 게 아니라 역할별로 나눠서 조립하는 방식이라고 이해했다.</p>
<p>✔ OOP의 핵심 개념 (간단 정리)</p>
<ol>
<li>캡슐화 : 데이터와 기능을 하나로 묶는 것
👉 외부에서 함부로 건드리지 못하게 보호하는 느낌</li>
<li>상속 : 기존 객체의 기능을 물려받는 것
👉 예: 기본 캐릭터 → 전사, 마법사로 확장</li>
<li>다형성 : 같은 기능을 다르게 사용할 수 있는 것
👉 같은 공격 함수라도 캐릭터마다 다른 공격이 나가는 느낌</li>
<li>추상화 : 필요한 핵심만 남기고 단순화하는 것
👉 복잡한 내부 구조는 숨기고 사용 방법만 보이게 만드는 것</li>
</ol>
<p>🟢 4. 내가 이해한 정리 처음에는 C#이 그냥 코딩 언어라고 생각했는데, 정리해보니까 구조적으로 설계하는 언어라는 느낌이 들었다. 특히 OOP 개념을 보면서 게임 개발에 왜 중요한지도 조금 이해됐다. 게임을 만든다고 하면 캐릭터, 몬스터, 아이템 이런 것들을 각각 객체로 만들어서 관리해야 하기 때문에 객체 지향 방식이 자연스럽게 필요한 것 같았다.</p>
<p>🟢 💡 느낀 점 : 아직은 코드도 많이 못 써봤고 개념도 완전히 이해했다고 말하긴 어렵지만, 왜 이렇게 배우는지는 조금 알 것 같았다. 특히 단순히 코드를 외우는 게 아니라
구조를 이해하는 게 중요하다는 걸 느꼈고, 앞으로 Unity로 게임을 만들 때 이 개념들이 어떻게 쓰이는지 직접 확인해보고 싶다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[사전학습 5일차]]></title>
            <link>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-5%EC%9D%BC%EC%B0%A8</link>
            <guid>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-5%EC%9D%BC%EC%B0%A8</guid>
            <pubDate>Wed, 01 Apr 2026 05:07:37 GMT</pubDate>
            <description><![CDATA[<p>💻 Visual Studio 첫 프로그램 만들기 정리</p>
<p>🟢 1. Visual Studio 시작 및 프로젝트 생성
이번 시간에는 Visual Studio를 실행해서 처음으로 C# 프로그램을 만들어봤다. 처음 실행하면 여러 메뉴가 나오는데, 나는 새 프로젝트 만들기를 선택했다. 그 다음 템플릿에서 콘솔 앱(Console App)을 선택했다.</p>
<p>👉 콘솔 앱은
화면(UI) 없이 텍스트로 입력하고 출력하는 프로그램이라서 처음 C#을 배우기에 가장 기본적인 형태라고 생각했다.</p>
<p>🟢 2. 프로젝트 구성
프로젝트를 만들 때는 이름과 저장 위치를 설정했다. 이름은 영어로 작성 (특수문자 없이) 저장 위치는 한 폴더에 모아서 관리 그리고 추가 설정에서 최상위 문 사용 안함을 체크하고 생성했다.</p>
<p>👉 처음에는 이게 뭔지 몰랐는데, 코드를 더 명확하게 배우기 위해 구조를 유지하는 설정이라고 이해했다.</p>
<p>🟢 3. 코드 편집 화면 이해
프로젝트를 생성하면 코드 화면이 나오는데, 구성은 크게 3가지로 나뉜다.</p>
<p>1) 코드 작성하는 영역
2) 파일 목록 (프로젝트 구조)
3) 실행 결과가 나오는 콘솔 창</p>
<p>👉 생각보다 복잡해 보였는데, 막상 보면 코드 쓰는 곳 + 결과 보는 곳 정도라서 금방 익숙해졌다.</p>
<p>🟢 4. 기본 코드 실행 (Hello World)
처음 실행 버튼을 눌러보니까 검은 콘솔창이 뜨면서 아래 문장이 출력됐다.</p>
<p>Hello, World!</p>
<p>이 문장은 코드 안에 이미 작성되어 있었고, 실행 버튼을 누르면 그대로 출력되는 구조였다.</p>
<p>👉 여기서 코드를 바꾸면 결과도 바뀌는구나를 처음 체감했다.</p>
<p>🟢 5. 코드 수정 및 응용
기본 문장을 가지고 앱에서 기본적으로 찾을 수 있는 도움말 같은 곳에서 추가해서 작성해 보았다.</p>
<p>✔ 내가 수정한 코드
<img src="https://velog.velcdn.com/images/seoa_25/post/49530c1d-91bb-444d-bee8-0d14a89f975a/image.PNG" alt=""></p>
<p>👉 단순히 Write에서 Line만 바꿨는데 실행 결과가 바로 달라지는 게 신기했고, 내가 프로그램을 조작하고 있다는 느낌이 들었다.</p>
<p>🟢 📝 전체 과정 정리</p>
<ol>
<li>Visual Studio 실행</li>
<li>새 프로젝트 만들기 선택</li>
<li>콘솔 앱 선택</li>
<li>프로젝트 이름 및 위치 설정</li>
<li>코드 실행 (Hello World 확인)</li>
<li>코드 수정 후 다시 실행</li>
</ol>
<p>🟢 💡 느낀 점
처음에는 단순히 글자 출력이라서 별거 아닌 것처럼 느껴졌는데, 직접 해보니까 이게 프로그램의 시작이구나라는 느낌이 들었다. 게임도 결국은 이런 코드들이 모여서 만들어진다고 생각하니까 지금 배우는 기초가 중요하다는 걸 조금 이해하게 됐다. 앞으로는 단순 출력이 아니라 조건문이나 반복문 같은 기능도 배워서 좀 더 게임 같은 프로그램을 만들어보고 싶다는 생각이 들었다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[사전학습 4일차]]></title>
            <link>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-4%EC%9D%BC%EC%B0%A8</link>
            <guid>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-4%EC%9D%BC%EC%B0%A8</guid>
            <pubDate>Tue, 31 Mar 2026 04:34:56 GMT</pubDate>
            <description><![CDATA[<p>💻 Visual Studio 설치 및 환경 설정 정리 (Unity 게임 개발 준비)
🟢 설치 목적
Unity로 게임 개발을 하기 위해서는 코드 작성과 디버깅을 도와주는 IDE가 필요한데, 그 중에서 Visual Studio를 사용하기 위해 설치를 진행했다.</p>
<p>🟢 1️⃣ .NET 데스크톱 개발 선택
Visual Studio 설치 프로그램을 실행하면 여러 가지 워크로드가 나오는데, 먼저 .NET 데스크톱 개발을 선택했다. 이건 기본적으로 C# 기반 프로그램을 만들 때 필요한 환경이라서 Unity 개발을 하기 전 기본 세팅이라고 생각하면 될 것 같다. 처음에는 뭐가 뭔지 몰랐는데, 게임 개발 전에 기본 언어 환경을 깔아주는 느낌이라고 이해했다.</p>
<p>🟢 2️⃣ Unity를 사용한 게임 개발 선택
게임 섹션 쪽으로 내려가면 나오는데, 이걸 선택하면 Unity랑 연동되는 기능들이 같이 설치된다. 이걸 선택해야 -&gt; Unity에서 스크립트 열기, 코드 자동완성, 디버깅 기능, 이런 것들이 정상적으로 작동한다고 한다. 마지막으로 우측 하단의 설치 버튼을 눌러서 진행했다.</p>
<p>🟢 3️⃣ 설치 진행 과정
설치가 완료되면 Visual Studio를 실행할 수 있고, 처음 실행하면 로그인 화면이 나온다. Microsoft 계정으로 로그인할 수 있는데, 나중에 설정이나 동기화를 생각하면 계정 만드는 게 더 편할 것 같았다. 로그인 없이도 실행은 가능하다.</p>
<p>🟢 📸 설치 캡처
<img src="https://velog.velcdn.com/images/seoa_25/post/7507960c-7b00-4c12-afdb-75f8ecb31b3f/image.PNG" alt=""></p>
<p>🟢 📝 전체 설치 과정 정리</p>
<ol>
<li>Visual Studio 설치 프로그램 실행</li>
<li>NET 데스크톱 개발 선택</li>
<li>Unity를 사용한 게임 개발 선택</li>
<li>설치 버튼 클릭 후 대기</li>
<li>설치 완료 후 실행 및 로그인</li>
</ol>
<p>🟢 💡 느낀 점
처음에는 그냥 설치만 하면 되는 줄 알았는데, 워크로드를 선택하는 과정이 있어서 조금 헷갈렸다. 그래도 Unity 개발에 필요한 것들이 한 번에 설치된다는 점에서 오히려 편하다는 느낌도 들었다.특히 개발 환경을 처음 세팅하는 과정이라서 이게 진짜 시작이구나라는 느낌이 들어서 앞으로 배우게 될 내용이 더 기대됐다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[사전학습 3일차]]></title>
            <link>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-3%EC%9D%BC%EC%B0%A8</link>
            <guid>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-3%EC%9D%BC%EC%B0%A8</guid>
            <pubDate>Mon, 30 Mar 2026 05:09:10 GMT</pubDate>
            <description><![CDATA[<p>🟢 1단계: 최근에 해본 게임 떠올리기</p>
<p>최근에 한 게임은 <strong>MapleStory</strong>랑 <strong>League of Legends</strong>이다.</p>
<p>✔ 어떤 점이 재미있었나요?</p>
<p>메이플스토리는 캐릭터를 키우면서 점점 강해지는 느낌이 확실해서 재미있었다. 특히 스킬 이펙트가 화려하고 타격감이 좋아서 사냥할 때 계속 손이 가는 느낌이었다. 그리고 코디(캐릭터 꾸미기) 요소가 있어서 단순히 전투만 하는 게 아니라, 캐릭터를 꾸미는 재미도 컸다. 롤은 한 판 한 판 상황이 계속 달라져서 질리지 않는 게 가장 좋았다. 같은 챔피언을 해도 팀원이나 상대에 따라 플레이 방식이 바뀌고, 한타에서 한 번 잘하면 게임 흐름이 완전히 바뀌는 순간이 있어서 긴장감이 높았다.</p>
<p>✔ 어떤 부분이 불편하거나 아쉬웠나요?
메이플스토리는 반복 사냥이 많아서 조금 지루하게 느껴질 때가 있었다. 특히 비슷한 몬스터를 계속 잡다 보면 “내가 지금 뭘 하고 있지?”라는 생각이 들 때도 있었다. 롤은 팀 게임이다 보니까,내가 잘해도 팀원이 못하면 지는 경우가 있어서 스트레스를 받는 경우가 있었다. 그리고 채팅이나 분위기 때문에 게임이 불편하게 느껴질 때도 있었다.</p>
<p>✔ 게임을 하면서 기억에 남은 장면은 무엇인가요?
메이플에서는 처음으로 보스 몬스터를 잡았을 때가 기억에 남는다. 혼자서는 힘들었는데, 다른 유저랑 같이 파티를 해서 겨우 클리어했을 때 성취감이 컸다. 롤에서는 한타에서 내가 스킬을 잘 맞춰서 한 번에 여러 명을 잡았던 순간이 기억에 남는다. 그 한 번으로 게임 흐름이 뒤집히면서 이기는 상황이 만들어졌던 게 인상 깊었다.</p>
<p>🟢 2단계: 내가 만들고 싶은 게임 상상하기
질문 / 나의 생각
어떤 장르인가요? : RPG 기반 + 협동 요소가 있는 게임
어떤 분위기인가요? : 전체적으로 둥글둥글하고 귀엽고 밝은 느낌
어떤 기기에서 하게 만들고 싶나요? : PC + 모바일 둘 다 가능하게
특별히 넣고 싶은 기능이나 장면은 무엇인가요? : 다양한 직업 시스템, 파티 플레이, 랜덤 던전, 캐릭터 꾸미기</p>
<p>조금 더 구체적으로 생각해보면, 에버플래닛 같은 느낌으로 행성마다 분위기가 다른 맵을 넣고 싶고, 직업도 단순 전사/마법사가 아니라 역할이 확실하게 나뉘게 만들고 싶다. 그리고 중요한 건 안 질리는 구조라고 생각해서, 던전이 매번 조금씩 다르게 바뀌거나, 선택에 따라 결과가 달라지는 시스템을 넣고 싶다.</p>
<p>🟢 3단계: 실제 비슷한 게임 찾아보기
비슷한 게임으로는 MapleStory가 가장 가깝다고 생각했다.</p>
<p>✔ 내가 상상한 게임과 어떻게 비슷한가요?
캐릭터를 키우는 RPG 구조라는 점, 다양한 직업이 존재하고 성장 요소가 있다는 점, 캐릭터 꾸미기 요소가 중요하다는 점, 이 부분에서 내가 만들고 싶은 게임과 많이 비슷하다고 느꼈다.</p>
<p>✔ 어떤 점을 배우고 싶나요?
캐릭터 성장 구조를 어떻게 설계했는지, 유저가 오래 플레이하도록 만드는 요소, 다양한 직업을 밸런스 있게 유지하는 방법, 특히 메이플은 오래된 게임인데도 계속 유저가 있는 이유가 궁금해서, 그 구조를 참고해보고 싶다는 생각이 들었다.</p>
<p>🟢 4단계: 게이머와 개발자 시선 비교하기
게이머 시선 / 개발자 시선
그냥 재미있다    / 어떤 요소가 재미를 만드는지 분석해야 함
캐릭터가 예쁘다 / 그래픽이 어떤 방식으로 구현됐는지 고민해야 함
조작이 쉽다 / UI와 입력 시스템을 어떻게 설계했는지 생각해야 함</p>
<p>✔ 간단히 느낀 점
평소에는 그냥 “재밌다”, “별로다” 정도로만 생각했는데, 이번에 정리하면서 보니까 게임은 정말 많은 요소가 합쳐져서 만들어진다는 걸 느꼈다. 특히 조작이 자연스럽거나, 게임이 끊기지 않고 이어지는 것도 다 설계된 결과라는 걸 알게 되면서 단순히 플레이하는 입장이랑은 완전히 다르다는 생각이 들었다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[사전학습 2일차]]></title>
            <link>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-2%EC%9D%BC%EC%B0%A8</link>
            <guid>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-2%EC%9D%BC%EC%B0%A8</guid>
            <pubDate>Sun, 29 Mar 2026 08:27:05 GMT</pubDate>
            <description><![CDATA[<p>🎮 Unity 게임 조사 – Among Us 분석 및 플레이 후기
🟡 1. 조사할 게임 선정
이번에 선택한 게임은 Among Us이다.
이 게임은 Unity 엔진으로 제작된 대표적인 사례로, 모바일과 PC 모두에서 플레이가 가능하고, 조작이 단순하지만 심리전 요소가 강해서 많은 사람들이 즐긴 게임이다.</p>
<p>📌 2. 게임 기본 정보
<img src="https://velog.velcdn.com/images/seoa_25/post/44213d95-200a-4d21-aa7b-d9ea3eeacad8/image.jpg" alt=""></p>
<p>게임 이름: Among Us
개발사 / 배급사: InnerSloth
출시 연도: 2018년 (2020년 이후 급격히 인기 상승)
지원 플랫폼: PC (Steam), iOS, Android, Nintendo Switch 등</p>
<p>📌 제작 및 개발 정보
사용 엔진 및 기술 : Among Us는 Unity 엔진으로 제작되었으며, 간단한 2D 그래픽과 네트워크 기반 멀티플레이 시스템이 핵심이다.</p>
<p>개발 배경과 목적 : 개발 초기에는 소규모 팀에서 만든 게임으로, 친구들과 가볍게 즐길 수 있는 파티형 게임을 목표로 제작되었다고 한다. 출시 당시에는 큰 주목을 받지 못했지만, 스트리머와 유튜버를 통해 입소문이 나면서 갑자기 인기를 얻게 되었다.</p>
<p>개발 과정 특징 : 소규모 개발팀 (3명 수준)으로 제작, Unity의 멀티플랫폼 지원 기능을 적극 활용, 복잡한 그래픽 대신 간단하지만 직관적인 UI 중심 설계, 별도의 고사양이 필요 없는 최적화 중심 구조</p>
<p>👉 개인적으로 기술적으로 화려하지 않아도 성공할 수 있다는 사례라고 느꼈다.</p>
<p>📌 게임 플레이 요소
장르: 사회적 추리 게임 (Social Deduction) + 파티 게임 
주요 시스템 : 플레이어는 크루원(Crewmate) 또는 임포스터(Impostor) 역할을 맡음
크루원: 주어진 미션 수행
임포스터: 다른 플레이어를 제거하고 정체를 숨김
회의 시스템 (투표)을 통해 범인을 찾는 구조, UI 및 조작, 매우 단순한 터치/클릭 기반 조작, 직관적인 버튼 구성 (이동, 상호작용, 신고 등), 텍스트 채팅 기반 의사소통, 사운드, 긴장감을 주는 효과음 위주, 과하지 않아서 오히려 집중이 잘 됨, 플레이 시간 및 난이도, 한 판 약 5~15분, 조작 난이도는 낮지만,심리전 난이도는 높은 편</p>
<p>🎮 3. 실제 플레이 및 체험 기록
✔ 재미있었던 점 : 가장 재미있었던 부분은 단순한 조작이 아니라 사람 사이의 심리전이었다.특히 임포스터를 했을 때 내가 안 한 척 연기하는 과정이 생각보다 긴장감이 있었고, 회의 시간에 다른 사람을 설득하는 게 게임의 핵심 재미라고 느꼈다. 또 한 판 플레이 시간이 짧아서 한 번만 더 해야지 하다가 계속 하게 되는 구조도 잘 설계된 것 같았다.</p>
<p>✔ 아쉬웠던 점 : 반복 플레이 시 맵과 미션이 단순하게 느껴질 수 있음, 채팅 기반이라서 의사소통이 제한적일 때 재미가 떨어짐, 랜덤 요소보다 사람 구성에 따라 재미 편차가 큼</p>
<p>✔ Unity 엔진 특징이 느껴졌던 부분 : 다양한 플랫폼에서 동일한 플레이 경험 제공, 가벼운 그래픽인데도 부드러운 실행, UI 구성이나 인터페이스가 Unity 기본 구조 느낌이 많이 남 
👉 특히 “모바일 + PC 동시에 서비스 가능”한 점에서 Unity의 강점이 잘 드러난다고 생각했다.</p>
<p>✔ 전반적인 플레이 인상 : 이 게임은 그래픽이나 시스템이 복잡하지 않지만, 사람 간 상호작용 자체를 콘텐츠로 만든 게임이라고 느꼈다. 처음에는 단순한 게임이라고 생각했는데, 직접 해보니까 게임은 꼭 복잡해야 재미있는 게 아니다라는 걸 느끼게 해줬다.</p>
<p>📝 4. 느낀 점 및 정리
이번 조사를 하면서 느낀 점은 Unity로 만든 게임이라고 해서 꼭 화려한 그래픽이나 대규모 시스템이 필요한 게 아니라는 점이다. Among Us는 오히려 단순한 구조를 선택하고, 그 대신 핵심 재미 요소(심리전에 집중해서 성공한 사례라고 생각한다. 앞으로 게임을 만든다면 기술적인 부분뿐만 아니라 사람이 왜 재미를 느끼는지를 먼저 고민해야겠다는 생각이 들었다.</p>
<p>📚 출처
Among Us 공식 홈페이지
InnerSloth 개발자 인터뷰
Steam 게임 페이지
플레이 경험 기반 개인 분석</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[사전학습 1일차]]></title>
            <link>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-1%EC%9D%BC%EC%B0%A8</link>
            <guid>https://velog.io/@seoa_25/%EC%82%AC%EC%A0%84%ED%95%99%EC%8A%B5-1%EC%9D%BC%EC%B0%A8</guid>
            <pubDate>Sat, 28 Mar 2026 08:42:41 GMT</pubDate>
            <description><![CDATA[<ol>
<li>내가 상상하는 게임 아이디어 </li>
</ol>
<p>내가 만들고 싶은 게임은 전체적으로 분위기가 밝고, 캐릭터들이 둥글둥글하고 귀여운 느낌의 RPG다. 예전에 했던 에버플래닛처럼 행성 단위로 맵이 나뉘어 있고, 각 행성마다 분위기나 몬스터, 스토리가 완전히 다른 구조를 생각하고 있다.  예를 들어 하나의 행성은 동화 같은 숲 컨셉이라서 말하는 동물 NPC가 있고, 또 다른 행성은 장난감 나라처럼 기계 몬스터가 등장하는 식으로, 이동할 때마다 새로운 세계에 들어가는 느낌을 주고 싶다.</p>
<p>직업은 단순한 전사, 마법사에서 끝나는 게 아니라, 좀 더 개성 있게 나누고 싶다. 예를 들면 : 감정을 다루는 “감정 마법사”, 몬스터를 소환하는 “소환사”, 함정이나 장치를 활용하는 “기계공” , 버프와 디버프 중심의 “서포터형 캐릭터” 이렇게 역할이 확실하게 나뉘면서도, 파티 플레이를 할 때 서로 시너지가 나게 설계하고 싶다. 그리고 캐릭터 커스터마이징도 꽤 중요하게 생각해서, 단순 외형뿐만 아니라 “성격”이나 “선택지”에 따라 대사가 조금씩 바뀌는 시스템도 넣고 싶다. 그래서 같은 캐릭터를 키워도 사람마다 플레이 느낌이 다르게 나오게 만들고 싶다.</p>
<ol start="2">
<li>게임의 핵심 재미 요소</li>
</ol>
<p>내가 생각하는 핵심은 “안 질리는 구조”다. RPG가 재밌다가도 금방 질리는 이유가 결국 반복 때문이라고 생각해서, 이걸 최대한 줄이고 대신 “매번 다른 경험”을 주는 방향으로 만들고 싶다.</p>
<p>첫 번째는 랜덤 요소 + 선택 요소를 섞는 거다.
던전을 들어갈 때마다 구조나 몬스터 조합이 조금씩 바뀌고, 플레이어가 중간중간 선택을 하게 만들어서 결과가 달라지게 하는 식이다. 그래서 같은 던전이라도 매번 다른 느낌이 나도록 만들고 싶다.</p>
<p>두 번째는 직업 간 협동 재미다.
혼자서도 플레이는 가능하지만, 파티를 하면 훨씬 효율이 좋아지고 새로운 전략이 가능하게 설계하고 싶다. 예를 들어 한 캐릭터가 몬스터를 묶어두면, 다른 캐릭터가 큰 스킬을 쓰는 식으로
“같이 할 때 더 재밌다”는 느낌을 주고 싶다.</p>
<p>세 번째는 컨텐츠 다양성이다. 
단순히 사냥만 반복하는 게 아니라: 하우징 (내 공간 꾸미기), 채집/제작, 코스튬 수집, 미니게임 (낚시, 퍼즐 등), 이벤트형 던전 이런 요소들을 넣어서, 전투 말고도 할 게 계속 남아있게 만들고 싶다.</p>
<p>결론적으로는 “귀엽고 가볍게 시작했는데, 생각보다 할 게 많아서 오래 하게 되는 게임”
이런 방향을 목표로 하고 있다.</p>
]]></description>
        </item>
    </channel>
</rss>