목록C#/Effective C# (50)
방프리
Item 2: const보다는 readonly가 좋다. C#에서의 상수 표현은 컴파일 타임 상수와 런타임 상수 두 가지로 나뉜다고 한다. const는 컴파일 타임의 상수, readonly는 런타임의 상수로 각각 작동하는 방식이 조금씩 다르다고 한다. 쓰는 목적이 다른데 작가는 const보다는 readonly를 좀 더 사용하는 것을 추천했다. 이유인 즉, 런타임 상수는 어떠한 타입과도 함께 사용할 수 있는 (런타임때에 초기화 되는 값을 보고 타입을 판단함) 반면 컴파일 타임의 상수는 여러 타입에 대한 대응이 불가능하다. 내장된 숫자형, enum, 문자열, null에 대해서만 컴파일 상수는 값을 가질 수 있다. 또한 런타임 상수는 인스턴스별로 서로 다른 값을 가질 수 있다. 특히 런타임 상수는 값에 대한 대..
Item 1: 지역변수를 선언할 때는 var를 사용하는 것이 낫다. var 키워드!!! 정말 많은 곳에서 쓰인다. Swift 혹은 Java 특히 프론트엔드 개발자들에겐 굉장히 친숙한 키워드다. 이 키워드를 볼 때마다 항상 명시적으로 선언해줘야 했던 옛날 컴파일러에서 코딩을 했던 전 회사가 너무 생각이 났다. 이 주제는 이 책의 서론에서 작가가 사소한 논쟁이 있었다라고 할 정도로 말이 많은 키워드다. C++11의 auto처럼 자동으로 타입을 맞춰준다면 굳이 개발자들은 타입을 고려하지 않고 편하게 코딩할 수 있고, 유지보수할 때 표현범위 때문에 수정할 일도 없으니깐 말이다. 하지만, 뭐든지 편하면 조그만한 독이 있는 법!! C#의 var는 런타임때 타입을 정하는 것이 아닌 컴파일러 타임과 메서드의 원형을 기..