필드 이니셜라이저를 사용하여 필드 초기화
클래스 내에 선언된 필드는 자동으로 해당 형식의 기본값으로 초기화됩니다. 예를 들어 정수형(int, long, byte, short)은 모두 0으로 초기화됩니다. 실수형(float, double)은 0.0, 불형은 false, 기타 참조형(reference type)은 null로 초기화됩니다.
이번에는 필드를 선언과 동시에 초기화하는 필드 이니셜라이저를 사용해 보겠습니다. 다음 내용을 입력한 후 실행해 보세요.
필드 이니셜라이저 사용: FieldInitializer.cs
using System; class Say { private string message = "안녕하세요."; //① 필드(멤버 변수) - 필드 이니셜라이저 public void Hi() //② 메서드 { this.message = "반갑습니다."; Console.WriteLine(this.message); } }
class FieldInitializer { static void Main() { Say say = new Say(); say.Hi(); } }
실행 결과
반갑습니다.
①에서는 필드를 선언과 동시에 “안녕하세요.” 문자열로 초기화했습니다. 필드는 변수와 달리 선언과 동시에 초기화하지 않으면 자동으로 기본값으로 초기화됩니다.
②에서는 Hi() 메서드에서 this 키워드로 자신의 클래스(Say) 인스턴스인 개체 내부에 선언된 message 필드에 접근해서 새로운 값으로 초기화하여 사용합니다.