public struct Point
{
public int x, y;
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
}
❓언제 class를 쓰는 게 좋을까?
데이터 양이 크거나, 공유, 참조가 필요한 경우
상속/다형성이 필요한 경우
상태 변경이 필요한 복잡한 객체일 때
public class Player
{
public string name;
public int hp;
public Player(string name, int hp)
{
this.name = name;
this.hp = hp;
}
}
헷갈리는 예시
struct MyStruct { public int value; }
class MyClass { public int value; }
MyStruct a = new MyStruct { value = 5 };
MyStruct b = a;
b.value = 10;
// a.value == 5 (서로 다른 값)
MyClass c = new MyClass { value = 5 };
MyClass d = c;
d.value = 10;
// c.value == 10 (같은 객체 참조)
💡 기억 포인트
구조체는 데이터 자체를 담는 용도, 클래스는 동작+상태를 가진 복합적인 객체용
Unity 같은 곳에서 Vector3나 Color가 struct인 이유도 바로 자주 쓰이고, 값으로써 독립적이어야 하기 때문