🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

[SerializeField]

21.06.12 19:52 작성 조회수 172

2

[SerializeField] 이게 무슨 기능을 하는지 모르겠습니다. 검색 해봤는대 외부 참조를 막기 위함이라고 알려주었는대 이 영상에선 외부 참조를 하는거 보고 무슨 역할을 하는지 모르겠습니다.

답변 1

답변을 작성해보세요.

1

객체지향에서 변수는 public 선언을 지양합니다.

외부 클래스에서 변수에 접근해 임의로 값을 설정할 경우

원치 않는 결과로 이어질 수 있기 때문에

변수는 private 또는 protected로 선언하고, 이 변수에 접근해서 값을 제어할 수 있는

Get(), Set() 메소드 또는 프로퍼티를 정의합니다.

유니티에서도 동일하게 적용해서 사용하는데

유니티의 경우 유니티 에디터라는 것이 존재하고 Inspector View에서

변수 값을 할당할 수 있습니다.

private으로 선언한 변수는 Inspector View에 보이지 않는데

[SerializeField]를 앞에 붙이면 해당 변수의 값을 Inspector View에서 조작할 수 있습니다.

즉, 기존 객체지향에서 얘기하는 변수의 은닉성은 지키면서

에디터에서 값을 설정할 수 있도록 하기 위해 사용하는 것이

[SerializeField] 입니다.

채널톡 아이콘