유니티에서 코드를 작성하려면 기본적인 프로그래밍 용어를 알아야하는데 하나하나 알아보기로 하자.
클래스는 객체 지향 프로그래밍의 핵심 개념으로, C#을 이용해
관련된 변수와 함수(메서드)를 하나의 구조로 묶어서 사용한다.
게임 내에서 다양한 객체(Object)를 정의하고, 해당 객체들이 어떻게 행동할지 지정해주기도 한다.
비유하자면 '설계도'라 생각하면 된다.
클래스 선언
'접근 제한자' class '클래스명' (멤버 변수 또는 메서드 등)으로 나열한다.
ex)
public class Car // Car(자동차)라는 클래스(설계도)를 만든다.
{👈 여기서부터
public string color = "Red"; // 자동차 색깔 (변수)
public int speed = 0; // 자동차 속도 (변수)
public void Drive() // 움직이게 하는 기능 (메서드)
{
speed = 10;
Debug.Log("속도: " + speed);
}
}👈 여기까지 클래스 범위
여기서 클래스는 첫 중괄호 ( { ) 에서 끝 중괄호 ( } ) 까지 전체를 포함한다.
아무리 코드가 길어도 끝에 있는 중괄호 } 까지가 하나의 클래스다.
클래스의 장점
코드의 재사용성: 클래스를 사용하면 여러 게임 오브젝트가 동일한 로직을 공유할 수 있다.
유지보수 용이: 코드를 모듈화하고, 각 기능을 클래스 단위로 관리하면 유지보수가 쉬워진다.
객체 지향적 설계: 복잡한 시스템을 더 직관적으로 구현할 수 있다.
변수는 클래스 내에 정의되는 해당 클래스의 속성이다.
쉽게 말하면 데이터를 저장하는 상자이며
어떤 값을 저장하고, 필요할 때 가져올 수 있다.
int age = 20; // 나이 저장하는 변수
string name = "Alice"; // 이름 저장하는 변수
float height = 170.5f; // 키(소수점 포함) 저장하는 변수
bool isRunning = true; // 달리고 있는지 여부를 저장하는 변수
int는 정수,
string은 글자,
float는 소수점 숫자,
bool은 참(true) 또는 거짓(false)을 저장
메서드는 클래스의 동작(기능)을 정의하는 함수다.
public void Jump() // 점프 기능
{
Debug.Log("캐릭터가 점프");
}
Jump()를 실행하면 "캐릭터가 점프"라고 출력한다.
※ () : 함수 옆에 있는 괄호는 매게변수로 메서드의 값을 넘겨준다.