객체를 생성함에 있어 필수 사항과 옵션 사항을 구분
함수를 사용하여 복잡한 구조체의 초기화를 단순화하고 유연성을 높이는 방법을 제공
에러를 반환하는 형태를 사용하게 되면 모든 필드에 대한 세팅이 이루어지기 전 에러 체크를 통한 검증이 가능