38.14 생성자로 속성에 대한 유효성 검사 구현하기

    프로그램을 작성하다 보면 특정 속성은 반드시 특정 값으로 초기화해야 할 때가 있습니다. 즉, null 또는 빈 값이 들어오면 안 될 때가 있는데, 이때는 생성자를 사용하여 반드시 특정 문자열을 넘겨주도록 강제할 수 있습니다. 넘어온 값이 null 또는 빈 값이면 에러를 강제로 발생시켜 좀 더 견고한 클래스를 만들 수 있습니다.

    생성자를 사용하여 초기화: PropertyValidation.cs

    using System;
    
    namespace PropertyValidation
    {
        class Car
        {
            public string Name { get; private set; }
            public Car(string name)
            {
                if (string.IsNullOrEmpty(name))
                {
                    //빈 값이면 강제로 ArgumentException 예외 발생
                    throw new ArgumentException();
                }
                this.Name = name;
            }
        }
    
        class PropertyValidation
        {
            static void Main()
            {
                //① 정상 실행
                Car car = new Car("자동차");
                Console.WriteLine(car.Name);
    
                //② 예외 발생
                //Console.WriteLine((new Car("")).Name);
            }
        }
    }

    실행 결과

    자동차

    Main() 메서드의 은 생성자의 매개변수로 전달된 값으로만 속성을 초기화하는 예제입니다. 처럼 생성자에 빈 값이 전달되면 throw 구문이 강제로 예외를 발생시킬 수 있습니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.