2월, 2022의 게시물 표시

C# Property 와 public 필드는 동일한 개념이 아니다

프로퍼티는 메서드이다 필드랑 다른 개념이며  신뢰성과 안정성, 유지보수, 확장성을 늘려준다.  신뢰성으로 데이터를 가져오는 것만 가능하거나, 불러오는 것만 가능하게 하거나, 둘다 가능하게 설정할 수 있다.  즉, 필드 값를 사용자 마음대로 조작해 오류가 생기는 일을 방지한다. 안정성으로 데이터를 가져오거나 불러올 때 과정을 안전하게 처리해준다.  예시로 Health라는 변수가 있다고 하자. 가장 간단한 예시로 최소HP를 0으로 최대를 100으로 둘 때 필드로 설정하면 어떠한 사용자 로직이 사용되지 않기에 값이 오버/언더한다. 프로퍼티라는 메소드를 사용하면 값을 넘어도 무조건 값이 0~100 사이에 저장된다. 유지보수에서 어디 에러가 터졌을 때 Health 프로퍼티의 내부 로직만 수정하면 될 것을 필요한 스크립트 하나하나 Health 스크립트를 검색하게 만드는 걸 막는다. 즉, 불필요한 스크립트 탐색,참조를 줄인다. 확장성으로  Health에서 UI로 표시되게 하자! 라고 내부로직을 추가 할 수 있다.  OnHealthChange 라는 이벤트로 UI 스크립트에 등록시켜 간단히 처리가 가능하다. 필드라면 체력이 증가,감소하는 메소드에 UI스크립트를 등록시켜야 하는 등 일이 증가한다 또 interface 멤버로 가질 수 있다. 즉 추상화가 가능하다.