유니티에서 SerializeField를 사용하는 두 가지 방식

2025. 1. 2. 21:41·유니티

유니티에서 [SerializeField]를 활용하여 인스펙터에 노출되는 변수를 관리하는 방법에는 크게 직접 백킹 필드를 사용하는 방식과 자동 구현 프로퍼티 방식이 있습니다.

 

직접 백킹 필드 방식

명시적으로 백킹 필드를 선언하고, 이를 읽기 전용 프로퍼티(PlayerHealth)로 노출합니다.

// Example 1: 직접 백킹 필드 사용
[SerializeField] private int playerHealth;   // 백킹 필드
public int PlayerHealth => playerHealth;    // 읽기 전용 프로퍼티

 

자동 구현 프로퍼티 방식

컴파일러가 자동으로 백킹 필드를 생성하며, [field: SerializeField]를 통해 해당 필드를 인스펙터에 노출합니다.

// Example 2: 자동 구현 프로퍼티
[field: SerializeField] public float PlayerSpeed { get; private set; }

 

 

직접 백킹 필드 방식을 사용할 때

  • 프로퍼티에 추가 로직(예: 값 검증, 이벤트 호출 등)이 필요한 경우
  • 필드와 프로퍼티를 명확히 분리하여 코드의 의도를 드러내고 싶을 때

자동 구현 프로퍼티 방식을 사용할 때

  • 간단한 데이터 캡슐화가 필요한 경우
  • 코드의 간결함을 유지하고 싶을 때
'유니티' 카테고리의 다른 글
  • 슬립모드 방지
  • InputField 선택 시 커서 위치 설정
  • Unity Assembly Definition
  • 유니티에서 Debug.Assert() 베스트 프랙티스
뇌장하드 주인장
뇌장하드 주인장
  • 뇌장하드 주인장
    뇌장하드
    뇌장하드 주인장
    • 분류 전체보기 (86)
      • C++ (9)
      • C# (15)
      • CS (9)
      • 유니티 (38)
      • 유니팁 (7)
      • 유니티 패턴 (8)
      • - (0)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뇌장하드 주인장
유니티에서 SerializeField를 사용하는 두 가지 방식
상단으로

티스토리툴바