개발 일지/개발 도서 리뷰

[Effective C#] 2장 .NET 리소스 관리 - Item12 : 할당 구문보다 멤버 초기화 구문이 좋다

뽕구 2025. 5. 10. 16:51
728x90
반응형

 

 

 

저자 : 빌 와그너

역자 : 김명신

출판사 : 한빛미디어

ISBN :9791162240038

https://www.hanbit.co.kr/store/books/look.php?p_code=B8349603240

 

 

이펙티브 C#(3판)

더 나은 C# 코드를 작성하는 새로운 방법 50가지

www.hanbit.co.kr


2장 .NET 리소스 관리

Item12 : 할당 구문보다 멤버 초기화 구문이 좋다

때에 따라 클래스의 생성자를 여럿 설계하기도 합니다.보통 매개변수를 다르게 하죠.

아래처럼 멤버 초기화를 수행하여 생성자에서 멤머 할당 누락을 예방할 수 있습니다. 

public class Controller
{
 private List<int> numbers = new List<int>(); //멤버 초기화 수행
 private List<string> names; //멤버 초기화 미수행
 
 public Controller()
 {
  names = new List<string>(); //할당 구문 => 다른 생성자에서 누락 가능성 있음
 }
 
 public Controller(string name)
 {
 }
 
 public Controller(string name, int age)
 {
 }
}

 

 

개발 업무하면서 생성자를 여러개 가져가는 생성자 오버로딩을 많이 활용했었습니다. 

멤버를 초기화하는게 가독성에서도 좋다고 생각이 들었어요.

어떤 사항에서느 할당하는 것이 더 옳은지 책을 보고 이해했습니다.

 

할당으로 바꿔야하는 사항

  • 객체를 0, null로 초기화
  • 여러 생성자에서 동일한 객체 반복 초기화
  • 예외 처리가 필요한 경우

 


마치며

개발할 때 할당, 초기화에 대해 큰 고민은 안했었어요.

어차피 안쓰면 컬렉션 처리될테니까요.

책을 읽으면서 할당과 초기화를 어떻게 나누어 처리 해야할지 알게 되었습니다.

 

읽어주셔서 감사합니다 :)

728x90
반응형