더북(TheBook)

러스트에서 사용자 정의 데이터를 다음과 같은 단계로 만든다.

1 struct Question {...}으로 새 구조체를 만든다.

2 타입이 있는 필드를 해당 구조체에 추가한다.

3 러스트는 생성자에 기본 이름 같은 것이 없으므로2 new라는 메서드를 사용하는 것이 가장 좋다.

4 impl 블록을 사용하여 사용자 정의 타입에 동작을 추가한다.

5 이 타입의 새로운 객체를 인스턴스화하려면 Self 또는 Question을 반환해야 한다.

또한, 뉴 타입 패턴(New Type pattern, http://mng.bz/o5Zr)의 사용법을 볼 수 있는데, 단순히 문자열을 질문 ID로 사용하는 것이 아니라 QuestionId 구조체로 캡슐화한다. 매개변수를 전달하거나 새 질문을 만들 때 문자열을 전달하는 대신 새 QuestionId를 만들어야 한다. 사용자 정의 타입을 사용하면 그 목적이 명확해지며, 이는 컴파일러가 강제할 수 있다.

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