유니티에서 스크립트를 Inspector 창에 넣을 때,
클래스와 인스턴스 개념이 중요한 역할을 가진다.
public class Player : MonoBehaviour // 클래스 선언
{
public string name;
public int health;
public void Attack()
{
Debug.Log(name + "이(가) 공격했습니다!");
}
위 Player 클래스는 플레이어의 속성과 행동을 정의하지만, 아직 실제 사용 가능한 객체는 아니다..
-클래스를 기반으로 실제 메모리에 할당된 객체.
-"클래스로부터 생성된 실체"라고 생각하면 됨.
void Start()
{
Player player1 = new Player(); // Player 클래스의 인스턴스 생성
player1.name = "전사";
player1.health = 100;
player1.Attack(); // "공격" 출력
}
player1은 Player 클래스의 인스턴스(객체)이며, 클래스에서 정의된 변수와 메서드를 실제로 사용할 수 있다.
-정리-
정의 : 객체를 만들기 위한 설계도
메모리 : 직접 할당되지 않음
역할 : 속성 및 동작 정의
사용 예시 : public class Player { }
정의 : 클래스에서 생성된 실제 객체
메모리 : new 키워드를 통해 메모리에 할당
역할 : 속성 값을 가지며 동작 실행 가능
사용 예시 : Player player1 = new Player();