일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 에러
- 파이널 IK
- 최적화
- github
- 쉐이더
- 유니티
- unity
- 쓰는 법
- 프로퍼티
- 오류
- 튜토리얼
- 리깅
- c#
- 2판
- 사용법
- 유니티 그래픽스 최적화 스타트업
- 깃허브
- shader
- 메모리
- 리팩토링
- 속성
- NavMesh
- 애니메이션
- Effective C#
- Final IK
- 유니티 그래픽 최적화
- error
- tutorial
- 애님
- 익명 타입
- Today
- Total
목록속성 (3)
참치김밥은 최고의 한식이다
대부분의 사용자는 속성(프로퍼티)이 데이터 멤버와 동일하게 동작할 것으로 기대하며, 그렇지 않을 경우 타입을 잘못 사용할 수 있다. 속성을 사용하는 문법이 데이터 멤버를 직접 사용하는 것과 같기 때문에, 동작 방식 또한 같으리라고 생각하게 된다. 즉, 프로퍼티가 데이터 멤버를 올바르게 모델링하도록 작성해야 사용자들이 불편하지 않다. 프로퍼티는, 다른 변경 사항이 없다면, get 접근자를 반복해서 호출할 때 늘 같은 값을 반환해야 한다. 덧붙여, 사용자들은 프로퍼티 접근자가 많은 작업을 수행할 것으로 생각하지 않는다. get 접근자가 내부적으로 너무 많은 작업을 수행하지 않도록 한다. 또, set 접근자에서도 값의 유효성 검증 정도만 처리하도록 작성하는 것이 좋다. 아래가 적절한 예시이다. public s..
먼저, Item 2에서 말하는 암묵적 속성, 명시적 속성이 뭘까??? 아마 나처럼 속성(프로퍼티)이 뭔지만 아는 사람들을 위해 간략히 아래 예시를 준비했다. // 암묵적 속성. 구현부가 없다 public class Person{ public string FirstName {get; set;} public string LastName {get; set;} } // 명시적 속성. 구현부가 추가되었다 public class DerivedType : BaseType{ public override string Name{ get => base.Name; protected set{ if(!string.IsNullOrEmpty(value)) base.Name = value; } } } (일단 저는 이렇게 이해했는데, ..
본문은 Effective C# 2판을 읽고 정리한 글입니다!! 더보기 유연한 C# 코드를 짜고 싶다 코드 리팩토링을 어떻게 해야 할 지 모르겠다 객체 지향적 설계를 하고 싶다 등등 여러 고민을 안고 있다면 이 책 추천드립니다... 👍👍 Item 1 : 접근 가능한 데이터 멤버 대신 속성을 사용하라 개요 멤버 중에는 데이터로 표현해야 어울리는 것이 있다. 예를 들면 고객 이름, 좌표, 매출 등이 그렇다. 이럴 때 속성을 사용하면 데이터 필드에 직접 접근하는 것처럼 실행되면서도 메서드가 주는 이점을 그대로 취할 수 있다. 클라이언트 코드에서는 속성이 마치 public 데이터 필드인 듯 사용하겠지만, 실제로는 속성 접근자 메서드를 호출하게 된다. 속성(Property)을 사용하면, 향후에 요구사항이 변경되어 ..