24.04.2019 Views

모어 이펙티브 C#(2판) - 맛보기

빌 와그너 저/김완섭 역 | 한빛미디어 | 2019년 05월 25,000원

빌 와그너 저/김완섭 역 | 한빛미디어 | 2019년 05월
25,000원

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

일한 작업을 할 수 있고, 자동 생성된 속성 접근자는 그저 할당문 하나일 뿐이며, 그마저도 인<br />

라인화될 것이기 때문이다. 결국 런타임에는 암묵적 속성을 사용하든 데이터 필드에 직접 접근<br />

하든 (심지어 성능까지도) 똑같이 동작한다.<br />

암묵적 속성은 명시적 속성 explicit property 과 동일한 접근 한정자 access modifier 를 지원한다. 그리고 필<br />

요하다면 다음처럼 set 접근자의 접근 권한을 제한할 수 있다.<br />

public string Name<br />

{<br />

get;<br />

protected set;<br />

}<br />

// 또는<br />

public string Name<br />

{<br />

get;<br />

internal set;<br />

}<br />

// 또는<br />

public string Name<br />

{<br />

get;<br />

protected internal set;<br />

}<br />

// 또는<br />

public string Name<br />

{<br />

get;<br />

private set;<br />

}<br />

// 또는<br />

// 속성 설정은 생성자에서만 가능<br />

public string Name { get; }<br />

암묵적 속성은 이전 버전의 <strong>C#</strong>에서 뒷단 필드를 직접 타이핑해야 했던 명시적 속성과 동일한 패<br />

턴으로 코드를 생성한다. 암묵적 속성의 장점은 개발자의 생산성을 높이고 클래스의 가독성을<br />

높이는 데 있다. 암묵적 속성으로 선언하면 실제 의도를 모호하게 만드는 추가 정보로 코드가 지<br />

저분해지는 일을 막아주어, 코드를 읽는 사람 모두가 작성자의 의도를 쉽게 파악할 수 있다.<br />

물론 암묵적 속성도 명시적 속성과 동일한 코드를 생성하므로, 암묵적 속성으로도 virtual 속성<br />

1장 데이터 타입<br />

27

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!