GameDevelop/Unity기초쌓기

[Unity] SerializeField + 프로퍼티 패턴

도도돋치 2025. 6. 8. 19:41
Contents 접기
728x90

문제

public float moveSpeed;

외부에서 값 수정 가능 → 보안/캡슐화 x

 

 

해결 

[SerializeField] private float moveSpeed = 3f;
[SerializeField] private float attackRange = 2f;

public float MoveSpeed => moveSpeed;
public float AttackRange => attackRange;
  • [SerializeField] private :
    Inspector에서 값 수정 가능 + 코드 외부에서는 직접 수정 불가
  • public 프로퍼티 (읽기 전용) :
    외부에서 읽기만 가능, 값 변경은 막음

 

정리

  • 캡슐화 보장 : 내부 값은 보호
  • Inspector 노출 : 에디터에서 값 조정 O
  • 읽기 전용 프로퍼티 : 외부는 보기만 가능
728x90