BEST
게임 개발

/

게임 프로그래밍

유니티(Unity)로 시작하는 게임개발: Part 2. C# 프로그래밍 입문

프로그래밍을 처음 접하는 분들이 게임을 개발하기 위해서는 C# 프로그래밍이 필요합니다. 디자이너나 기획자 등, 기존에 프로그래밍을 전혀 해보지 않은 입문자를 위한 C# 강좌입니다.

(4.8) 수강평 29개

수강생 502명

Thumbnail

입문자를 위해 준비한
[게임 프로그래밍, 프로그래밍 언어] 강의입니다.

이런 걸
배워요!

  • C#을 실행하기 위한 유니티의 기초적인 인터페이스

  • 유니티의 C# 기초 프로그래밍

  • 프로그래밍을 하기 위한 컴퓨터의 기본동작과 구조

비전공자 & 입문자를 위한 게임 개발!
C# 프로그래밍 입문으로 게임 개발의 첫걸음을 떼보세요.

유데브앱 / UdevApp / udevapp

강의 소개 📝

게임을 만들기는 지금까지 아주 어려운 일로 인식되어 왔습니다. 하지만 유니티와 같은 게임엔진의 발전으로 이제 1인개발자도 게임을 개발하는 것이 가능해졌습니다. 유니티 게임엔진을 배포하는 유니티 테크놀로지는 다음과 같은 캐치프라이즈를 내걸고 있습니다.

“배우기 쉬운 게임엔진”

하지만 비전공자들에겐 이것은 그림의 떡입니다. 게임엔진을 통한 게임 개발에 꼭 필요한 핵심 능력이 있기 때문입니다. 바로 프로그래밍입니다. 프로그래밍 기술이 없이는 게임을 만들수 없습니다. 또한 프로그래밍은 배우기 아주 난해합니다. 배우기 쉬운 게임엔진이라는 캐치프라이즈는 원래 게임을 개발하던 이들에게 적용되는 문제입니다. "배우기 쉬운" 이라는 요건을 충족시키기 위해서는 프로그래밍의 능력이 절실히 필요합니다.

그러한 문제를 해결하기 위해 이 강좌를 만들었습니다.
게임개발에 앞서 유니티에만 필요한 기능을 소개하면서 유니티로 학습해 나가는 C# 프로그래밍 강의입니다.

비전공자는 게임을 개발하기 시작하면 방대한 양의 공부를 해야 합니다. 우선 프로그래밍입니다. 유니티의 기능도 필요합니다. 어느 정도가 필요한지 알 수 없기에 무조건 배웁니다.

C#의 경우도 같습니다. 책에 있는 C#의 기능을 학습하려면 방대한 분량의 학습이 필요합니다. 하지만 그렇다고 너무 적은 부분을 공부하면 원리를 모르기 때문에 응용이 불가능합니다. 인터넷에 있는 짧은 시간의 C# 강의를 따라서 배우고 공부할 수 있는 사람은 개발자들 뿐입니다. 프로그래밍에 입문하기 위해서는 기초가 되는 프로그래밍의 원리부터 학습해야 그것이 가능합니다. 

이 강의는 유니티의 게임개발에 필요한 기초적인 C#을 배우기 위해 컴퓨터의 기초적인 원리부터 학습합니다. 초보자라도 이 강의의 학습을 완료하신다면 다른 게임개발의 강의들을 쉽게 공부할 수 있을 것입니다. 그래서 다른 프로그래밍 강좌와는 다르게 문법의 원리를 알아보기 위해 내부적인 구조를 조금씩 확장하여 설명합니다. 굳이 어려운 문법을 사용하지 않아도 프로그래밍은 학습이 가능합니다. for 문과 if 문과 함수만 배워도 프로그래밍은 가능합니다. 

그래서 이 강의에서는 유니티의 기능과 C#의 구조지향적 프로그래밍을 같이 이해하고 실습하는 내용이 강의 분량의 절반을 넘어갑니다. 객체지향은 중반 이후에 나옵니다. 기본적인 로직을 작성하기 전까지 프로그래밍을 작성할 수 없기 때문입니다. 고급문법의 강의를 배워야 할 시점은 게임을 하나라도 만들고 나서입니다. 

비전공자들과 입문자들이 게임개발의 전 단계인 프로그래밍을 어떻게 학습할 수 있을지에 대해 알려드리기 위해 이 강의를 제작했습니다.

왜 배워야 하는지 ✒️

본 강의는 유니티의 C# 프로그래밍 대한 내용을 비전공자들과 입문자들의 입장에서 어떻게 접근할 수 있는지 알려주는 강의입니다. 그렇다고 쉽지만은 않습니다. 예를 들어 if문과 for문을 설명할때 메모리가 동작하는 예제를 설명하고 나서 이것을 프로그래밍으로 작성하는 방법을 같이 설명합니다. 비슷한 구조의 작은 예제를 소개하는 것을 보시면 이걸 왜 해야 하는 것일지에 대한 궁금증이 들 수도 있습니다. 하지만 프로그래밍은 컴퓨터의 내부 원리를 이해하고 컴퓨터에 말을 거는 작업입니다. 내 말대로 컴퓨터가 동작하기 위해서는 메모리가 어떻게 동작하는지를 알아야 문법을 작성할 수 있습니다. 다른 사람에게 말을 하기 위해서 다른 사람의 생각을 역지사지하는 것과 똑같습니다.

그리고 그것이 가능해야 디버깅이 가능해집니다. 프로그래밍은 원래 고난과의 싸움입니다. 얼토당토 하지 않은 말도 안되는 오류가 나올수 있습니다. 이러한 문제를 해결하기 위해서는 기초가 필수적입니다.

입문자분들이나 초보자분들의 경우에는 기초 C# Part 2 내용을 모르면 이 다음강의인 Part3 인 유니티로 시작하는 슈팅게임개발 강의의 수강이 어렵습니다. 하지만 이 강의를 배우고 나면 학습이 가능합니다.

언어를 배우기 전에 원리부터 학습합니다. 원리를 알면 응용이 가능합니다. 이해를 하지 않고 따라하기만 하면 프로그래밍을 할 수 없습니다.
강의당 10분의 학습시간을 넘지 않습니다. (넘는 강의도 있습니다만 넘어도 된다고 생각하기에 그렇게 제작했습니다. 길어서 학습에 방해가 된다고 생각하면 나누거나 다시 찍도록 하겠습니다)

이 강의에서 배우는 것들 ✏️

  • 유니티의 기능을 사용하여 C# 언어를 학습할 수 있는 환경을 배울 수 있습니다.
  • 왜 프로그래밍이란 것이 존재하는지를 배울 수 있습니다. 
  • 코드 한줄 한줄의 의미를 분석하여 응용하여 작성할 수 있게 됩니다. 
  • 작성하는 코드의 메모리와 원리에 대해 설명합니다. 
  • 객체지향을 설명하기에 앞서서 메모리 구조를 설명하기에 명확하게 객체지향을 이해할 수 있습니다.
  • 구조지향과 객체지향의 차이를 이해하고 사용할 수 있습니다.

 

강의 특징 💡 

C#의 메모리구조를 살펴보면서 실제 C# 언어의 기본 문법을 학습하고 간단한 콘솔 프로그래밍을 개발하여 구조지향과 객체지향의 프로그래밍을 습득하는 것을 목표로 합니다.

이 강의를 듣고 나면 C# 언어의 내부 구조를 예상하여 개발 할 수 있게 됩니다. 다만 입문자의 경우 길게 잡고 하루 30분씩 꼭 연습이 필요합니다. 짧게는 2주에서 한달부터 길게는 3달까지 잡으시는 것이 좋습니다.왜냐하면 장기기억으로 쌓여야 이것이 당연한 것이 되어 생각한 대로 프로그래밍을 할 수 있게 됩니다.  유니티에 접근하는 초보자들이나 비전공자들에게 큰 도움이 될 것으로 생각합니다.

현재 강의는 약 10시간 분량이며 110개 정도의 강의로 이루어져 있습니다. 

요구 사항 💡 

  • PC를 사용할 줄 알아야 합니다. (폴더와 단축아이콘의 의미를 이해할 수 있어야 합니다.)
  • 영어에 대한 두려움을 없애야 합니다. (용어의 설명을 위해 필요한 내용입니다. 필요한 내용은 설명합니다.)
  • 프로그래밍 경험이 없어도 관계 없습니다. (프로그래밍을 아무것도 모른다고 가정하고 시작합니다, 정말 모르실 경우 이전 강좌인 Part 1의 컴퓨터 구조강의를 듣고 오시는 것이 좋습니다.)

섹션마다 간단한 소개 📖

섹션 0: 유니티 기본 기능 소개

  • 유니티의 기본 기능을 소개하고 각각의 뷰들의 관계를 이해합니다.
  • 통합개발환경의 의미를 이해할 수 있습니다.
  • 프로그래밍을 시작하기 위해 최소한의 지식을 학습합니다.

섹션 1: 기초 C# 프로그래밍

  • 프로그래밍과 소스코드의 관계를 이해할 수 있습니다.
  • 콘솔이 무엇인지 왜 콘솔에 작업하는지를 설명합니다. 
  • 변수라는 것의 기초를 이해할 수 있습니다.
  • 프로그래밍 학습방법 1을 소개합니다. 어떻게 학습할 수 있을지를 알아봅니다.

섹션 2: C# 자료형

  • 데이터를 저장하는 자료형을 소개합니다. 
  • 자료를 전달하는 과정에 생기는 현상의 원리를 설명합니다. 
  • 평균을 구하는 것과 같은 간단한 프로그래밍을 학습합니다.
  • 프로그래밍 학습방법 2를 소개합니다. (중요)

섹션 3: 조건문

  • 구조지향적 프로그래밍의 기본인 조건에 따른 실행에 대해 학습합니다.
  • 여러 if 문들중에 하나를 선택해서 사용하는 방법을 이해해야 합니다.
  • 프로그래밍은 한가지 방법만이 존재하지 않는 것을 학습합니다.

섹션 4: 반복문

  • 구조지향적인 프로그래밍의 기본인 반복에 대해 학습합니다. 
  • 반복문을 가지고 여러가지 프로그램을 작성합니다. 
  • 어떻게 하면 반복문을 쉽게 사용할 수 있을지를 학습합니다. 

섹션 5: 함수

  • 구조지향적인 프로그래밍의 기본인 함수에 대해 학습합니다.
  • 왜 함수를 사용하고 어느 곳에 함수를 사용하는지를 학습합니다.
  • 함수 내부의 메모리가 동작하는 방법을 이해하고 사용할 수 있습니다.

섹션 6: 유니티와 함수

  • 객체지향을 학습하기 위해 함수와 객체지향의 관계를 이해할 수 있습니다. 
  • 유니티에서 사용되는 함수를 이해합니다.
  • 메모리로부터 접근하는 객체지향을 이해하고 사용할 수 있습니다.

섹션 7: 유니티와 메모리

  • 유니티에서 메모리가 사용되는 방식을 이해합니다. 
  • 변수와 함수로부터 객체지향이 생겨나므로 변수와 함수의 메모리부터 접근합니다.
  • 객체지향을 접근하는 방법을 이해하고 사용합니다.

섹션 8: 구조체와 클래스

  • 구조체와 클래스를 메모리를 통해서 학습합니다.
  • 자료형을 새로 만든다는 것의 의미를 이해하고 사용합니다.
  • 구조체와 클래스의 여러가지 사용방법을 학습합니다.

섹션 9: 클래스

  • 구조체와 클래스를 메모리를 통해서 학습합니다.
  • 자료형을 새로 만든다는 것의 의미를 이해하고 사용합니다.
  • 실제 구조체와 비교하여 메모리 동작을 이해하고 객체지향의 이해의 관점을 학습합니다.
  • 유니티에서 객체지향을 어떻게 사용할 것인지를 학습합니다.

섹션 9: 배열과 리스트

  • 배열과 리스트를 사용하는 방법을 이해하고 학습합니다.
  • 왜 어느곳에서 new 를 실행해야 하는지를 명확하게 이해할 수 있습니다.
  • 함수내부와 클래스 내부에서 선언되는 배열의 메모리를 학습합니다.

여기서 다루는 툴 🧰 

이 강의에서는 학습을 하시고 꼭 실습을 하시는 것이 좋습니다. 특히 비전공자는 평소에 프로그래밍으로 일을 하지 않기 때문에 그냥 보기만 해서는 절대 프로그래밍을 습득할 수 없습니다.
이해를 하시고 나서 필요한 핵심적인 내용을 암기하셔야 합니다. 그리고 실습해야 합니다. 

에버노트를 사용하여 강의를 배울때 정리하는 법을 알려드립니다.
구글 스프레드시트를 이용하여 학습의 진행률을 볼 수 있는 방법도 알려드립니다.
간단한 내용들이지만 비전공자는 시간이 없습니다.(전공자도 마찬가지입니다)
최단 시간에 최적의 연습을 할 수 있는 방법을 설명해드립니다.

예상 질문 Q&A 🙋🏻‍♂️ 

Q. 비전공자도 들을 수 있나요?
A. 네, 비전공자와 입문자가 들을 수 있도록 제작한 강의입니다. 전공자 분들에게는 조금 쉬울수도 있습니다만 메모리구조를 복습하는 차원에서도 들으시면 좋습니다. 

Q. 이 "C# 프로그래밍"를 배우면 무엇이 좋은가요?
A. 원리를 알아야 응용이 가능합니다. 프로그래밍을 하는 것만이 아닌 오류를 잡을 때도 원리를 알아야 응용을 할 수 있습니다. 프로그래밍을 할 때 오류가 생긴다고 해서 다른 누군가가 문제를 해결해주지 않습니다. 원리를 알고 나면 오류를 수정할 수 있습니다. 또한 이해가 깊어져서 응용이 가능합니다.   

Q. "C# 프로그래밍"의 강의를 들으면 어떤 일을 할 수 있나요?
A. 실제 유니티를 게임을 만들기 위한 준비가 가능합니다. 이 다음강의인 Part 3 의 슈팅게임개발의 강의를 들으실 수 있습니다. 또한 유니티로 다른 프로그램을 만들 때 큰 도움이 됩니다.

Q. 이 강의만의 특별한 장점이 있을까요?
A. 처음 볼 때는 어려울 수 있습니다. 하지만 그 단계를 넘어가서 중반 이상 가게 되면 원리에 대한 개념이 생깁니다. 내부구조를 알면 컴퓨터가 어떻게 동작하는지 소스코드가 어떻게 동작하는지를 예상할수 있습니다. 그렇게 되면 프로그래밍뿐만 아니라 디버그의 실력도 향상됩니다. 오류가 있어도 해결할 수 없다면 그것만큼 힘든 일이 없습니다. 이런 상황을 예방하기 위해 원리와 메모리에 대한 공부가 필요합니다. 

이전/이후 강의 살펴보기 📼

유니티(Unity)로 시작하는 게임개발:
Part 1. 컴퓨터 구조 입문

비전공자도 쉽게, 컴퓨터가 동작하는 기본 원리를 이해해보세요.
유니티(Unity)로 시작하는 게임개발:
Part 3. 슈팅게임 개발

실제 슈팅게임을 만들고, 스토어 업로드까지!

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 코딩을 처음 접하는 분

  • 게임을 개발하기에 앞서 유니티를 실행해보고 싶으신 분

선수 지식,
필요할까요?

  • 폴더와 파일을 알고 컴퓨터를 사용할 수 있는 분

안녕하세요
UDevApp입니다.

안녕하세요. UDevApp 의 최형선이라고 합니다. 

무엇인가를 만들어낸다는 것은 정말로 행복한 일입니다. 

세상에 나의 제품이 나올 때의 느낌은 스티브잡스가 느낀 그것이나 

여러분들이나 저와 다르지 않다고 생각합니다. 

여러분들에게 그러한 감정을 드리는 사람이 되고 싶습니다. 

네이버카페와 블로그와 유튜브에도 많이 찾아와 주시길 바랍니다.

.

https://cafe.naver.com/ultimategunz(카페바로가기)

http://blog.naver.com/siwoo2406(블로그 바로가기)

https://www.youtube.com/user/ChoiHyungSun/(유튜브 바로가기)

감사합니다. 

커리큘럼

전체

111개 ∙ (12시간 22분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!