클래스(class)와 인스턴스(Instance)의 차이

옙권·2025년 4월 15일

유니티에서 스크립트를 Inspector 창에 넣을 때,
클래스와 인스턴스 개념이 중요한 역할을 가진다.

클래스(Class)

  • 객체를 만들기 위한 틀
  • 변수와 메서드를 정의함.
  • 메모리에 직접 할당되지 않으며, 인스턴스를 생성해야 사용 가능
public class Player : MonoBehaviour  // 클래스 선언
{
    public string name;
    public int health;

    public void Attack()
    {
        Debug.Log(name + "이(가) 공격했습니다!");
    }

위 Player 클래스는 플레이어의 속성과 행동을 정의하지만, 아직 실제 사용 가능한 객체는 아니다..

인스턴스(Instance)

-클래스를 기반으로 실제 메모리에 할당된 객체.
-"클래스로부터 생성된 실체"라고 생각하면 됨.

void Start()
{
    Player player1 = new Player();  // Player 클래스의 인스턴스 생성
    player1.name = "전사";
    player1.health = 100;
    player1.Attack();  // "공격" 출력
}

player1은 Player 클래스의 인스턴스(객체)이며, 클래스에서 정의된 변수와 메서드를 실제로 사용할 수 있다.

-정리-

클래스(Class)

  • 정의 : 객체를 만들기 위한 설계도

  • 메모리 : 직접 할당되지 않음

  • 역할 : 속성 및 동작 정의

  • 사용 예시 : public class Player { }

인스턴스(Instance)

  • 정의 : 클래스에서 생성된 실제 객체

  • 메모리 : new 키워드를 통해 메모리에 할당

  • 역할 : 속성 값을 가지며 동작 실행 가능

  • 사용 예시 : Player player1 = new Player();

0개의 댓글