출처 : https://www.youtube.com/watch?v=-JD5ry7P1iU&list=PL4SIC1d_ab-Y-bBKojxhtFWwNpawMM1h5&index=7
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// ex) RPG
// 행동에 대한 내용
// 지형에서 움직인다.
// 몬스터를 공격한다.
// NPC와 대화한다.
// 스킬을 사용한다.
class Player
{
// 명사만으로는 부족!
int Att;
int Hp;
// 행동 = 멤버함수(method)
// ex)
// 리턴값 : void (return -> X)
// 식별자 : Move
// 인자값 : ()
void Move()
{// <- 함수의 시작
}// 함수의 끝
void Fight()
{
}
void Talk()
{
}
void SkillUse()
{
}
}
// RPG를 만든다. -> 프로젝트
// 주인공이 있다. -> 클래스
// 주인공이 공격력이 있다. -> 멤버변수
// 주인공이 공격력으로 때린다. -> 멤버함수
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
class Player
{
// 멤버변수 -> 클래스 내부
int Att;
int Hp;
void Fight()
{
// 선언되는 순간 지역변수는 메모리화 됨
int Damage = 0;
Console.WriteLine("Fight!");
}
} // 게임에서 사용하기 위해서 여기까지 설계했다.
namespace LocalVar
{
// C#은 고지식한 객체지향 언어 = 클래스밖에 모르는 바보!!!
// 프로그램의 시작조차도 클래스안에 묶어놔야 한다.
class Program
{
// 시작용 함수
static void Main(string[] args)
{
// instantiation(인스턴스화 || 객체화)
// 클래스 = 설계도
// 객체화라고 하는 굉장히 중요한 작업.
// 클래스를 뭐라고 말씀드렸나요?
// 설계도.
// Player의 설계대로 플레이어를 만드는데
// 그 이름을 NP라고 해라
// Player NP1 = new Player();
// Player NP2 = new Player();
// 클래스 안에 있으면 멤버변수
// 함수안에 있다면 지역변수
// * 지역변수의 규칙 = 내부에서만 사용 가능 *
// 함수안에 있는 녀석들을 지역변수라고 한다.
int Att = 0;
Att = 50;
// Console.WriteLine("Local Variable");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
class Player
{
// 객체 지향의 캡슐화 (은닉화를 대표하는 문법)
public int HP; // 외부에도 공개
protected int ATT; // 자식에게만 공개
private int DEF; // 내부에만 공개
public void Fight() // 함수도 적용된다
{
Console.WriteLine("Fight!");
}
}
namespace ClassAccess
{
class Program
{
static void Main(string[] args)
{
Player np = new Player();
// 만들어진 객체의 내용을 사용하려면
// 객체의 이름. 을 사용한다.
// * 나오지 않는 이유 = 접근 한정자 문법을 사용하지 않아서 외부에 공개되지 않음. *
np.HP = 0;
np.Fight();
}
}
}
'C# 개인 공부 기록용 > 어소트락 게임아카데미 - C# 무료강의[2019] 총48강' 카테고리의 다른 글
[C# 강의 10화]실행되는 함수의 메모리 구조 (0) | 2022.07.04 |
---|---|
[C# 강의 8화] 함수 용법 추가설명 (0) | 2022.07.04 |
[C# 강의 6화] 맴버변수와 상수 기본 개념 (0) | 2022.07.01 |
[C# 강의 2 . 3 . 4화] using . class . namespace (0) | 2022.06.29 |
Hello, world! (0) | 2022.06.29 |