인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

코딩하고시펑님의 프로필 이미지
코딩하고시펑

작성한 질문수

[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템

Quest 구현

프로퍼티 사용 질문입니다.

작성

·

33

0

안녕하세요. 강의 잘 듣고 있습니다.

특별히 다른 작업이 필요하지 않는 변수들도 프로퍼티를 사용하시는데 혹시 그 이유가 있을까요?

답변 1

0

Developer G님의 프로필 이미지
Developer G
지식공유자

수강해주셔서 감사합니다.

어떤 Property를 얘기하시는건지 모른채로 답변드리기가 애매해서 혹시 어떤 Property를 보고 그런 생각을 하셨을까요?

예를 들면 public int myInt {get; private set;}과 같은 경우 단순히 캡슐화를 위해서만 사용하시는 건가요?

Developer G님의 프로필 이미지
Developer G
지식공유자

저 같은 경우는 변수의 은닉성을 철저히 지키는 편이라 const와 static을 제외한 모든 변수는 private으로만 만들구요, class 외부에 공개할 생각이면 적으신 것처럼 Property로 바로 만드는 편입니다. 이는 뭐 다른 중요한 이유가 있다기보다는 개인적인 Coding Convention이 그런거구요, 지금도 그런지 모르겠지만 공개된 과거 구글 사내 Convention을 보면 구글은 모든 변수를 오직 private으로만 만들기를 강력하게 권장했습니다. 반대로 언리얼 엔진의 Convention 같은 경우는 굳이 getter/setter를 만들기보다는 변수를 public으로 만들어서 공개하는걸 권장합니다. Conding Convention은 개인과 팀의 경험에 의한 취향 문제이기 때문에 의미를 두고 보지 않으셔도 됩니다.

그렇군요! 친절한 답변 감사합니다!

많은 도움이 되었습니다.

코딩하고시펑님의 프로필 이미지
코딩하고시펑

작성한 질문수

질문하기