반응형
과제 풀이가 너무 길어서 수업 내용과 쪼갰다.
아직도 시계열 배열은 머릿 속이 하얗다...
[클래스(Class)]
- 클래스는 지난 주 마지막에 약간 개념의 이해 정도로 했는데 다시 설명하는 게임 개발에 들어가는 각 요소들. 예를 들면, 플레이어, 펫, 보스 등등에 대해서 상태와 기능을 정의하는 것이라고 보면 될 것 같다.
- 함수는 밑에 따로 써놓고 위에서 불러오는 형태였는데, 클래스는 통상 코드를 입력하던 곳 밖에서 정의하고 당겨오는 형태이다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Learncs
{
class Human
{
//상태. 멤버 변수 or 멤버 필드
public int m_age; //나이라는 상태(int)를 넣고
public string m_name; //이름이라는 상태(string)를 넣고
public float m_weight; //몸무게라는 상태(float)를 넣고
public float m_height; //키라는 상태(height)를 넣고
public string m_gender; //성별이라는 상태(string)을 넣었다
//기능. 멤버 함수 or 멤버 메소드(펑션)
public void Eat() //먹는다는 기능 추가
{
Console.WriteLine("치킨 좋아!!");
}
public void Talk() //얘기하는 기능 추가
{
Console.WriteLine("수다 좋아!!");
}
public void Study() //공부하는 기능 추가
{
Console.WriteLine("C# 좋아!!!!");
}
}
internal class Program
{
static void Main(string[] args)
{
Human h1 = new Human(); //Human이라는 클래스를 가져와서 새로운 Human을 만드는데 이름이 h1
h1.m_age = 20;
h1.m_name = "hello";
h1.m_weight = 100f;
h1.m_height = 190;
h1.m_gender = "남성";
Console.WriteLine("이름:{0}, 나이:{1}, 성별:{2}, 몸무게:{3}, 키:{4}", h1.m_name, h1.m_age, h1.m_gender, h1.m_weight, h1.m_height);
h1.Eat();
h1.Talk();
h1.Study();
}
}
}
Human 이라는 클래스를 추가하고,
해당 클래스에서 Human을 하나 생성해 보았다.
[생성자]
- 클래스가 new 키워드를 통해서 생성이 될 때 호출이 되는 함수
위 코드블록에서 클래스 부분에 아래와 같이 생성자를 추가할 수 있다.
//생성자. 클래스가 new 키워드를 통해서 생성이 될 때 호출되는 함수.
//생성자는 보통 멤버 변수들 초기화 할 때 쓰임.
public Human() { } // 기본 생성자
//생성자도 오버로딩이 가능
public Human(int _age, string _name, float _weight, float _height, string _gender) //기본 생성자.
{
m_age = _age;
m_name = _name;
m_weight = _weight;
m_height = _height;
m_gender = _gender;
}
개를 추가하고, 고양이를 추가하는 것도 해보았다.
내용과 방식은 사실상 거의 똑같아서 생략!
[강의 내용]
https://www.notion.so/2023-07-22-728357141a7d40bfb83356eff5bd950c
반응형
'[SBS게임아카데미] 1인개발 프로그래밍 (C#, 유니티)' 카테고리의 다른 글
[11] C# 구조체와 클래스, 열거문 (SBS게임아카데미 9일차_230729_토) (0) | 2023.07.29 |
---|---|
[10] C# 클래스의 생성과 소멸, 접근제한자 (SBS게임아카데미 8일차_230723_일) (0) | 2023.07.23 |
[8] C# 숫자 배열, 시계열 배열 (SBS게임아카데미 7일차_230722_토)_과제풀이 (0) | 2023.07.23 |
[7] C# 함수와 호출 (SBS게임아카데미 6일차_230716_일) (0) | 2023.07.23 |
[6] C# 배열과 정렬 (SBS게임아카데미 5일차_230715_토) (0) | 2023.07.17 |