11
04

 

언리얼에서 UPROPERTY를 선언하는 코드에서 (AllowPrivateAccess = "true")라는 코드를 심심치 않게 볼 수 있다.

 

UPROPERTY(Transient, VisibleInstanceOnly, Category = Stat, Meta = (AllowPrivateAccess = "true"))
FABCharacterStat BaseStat;

 

이는 써져있는대로 Private 변수에 접근 가능하게 해 주는데,

블루프린트는 사실 상속의 개념을 사용하고 있음으로, private로 선언된 변수는 접근하지 못하는데

그렇다고 노출만을 위해 protected나 public으로 선언하면 클래스 캡슐화가 깨지게 된다.

 

이 때문에 한정자는 private로 유지하면서 블루프린트한테 노출하고 싶을 때 사용되는 기능이다. 

 

 

결론

C++클래스를 상속받는 블루프린트에서 부모의 private 멤버 변수에 접근할 수 있도록 지정하는 기능이다.

 

 

COMMENT