method

메서드와 연관 함수 구분

메서드는 인스턴스를 받지만, 연관 함수는 타입 이름으로 호출되는 생성자나 보조 함수에 가깝습니다.

판단 기준

self가 필요한 동작인가, 타입 자체에 붙은 기능인가

&self

읽기만 필요한 메서드는 공유 참조를 받습니다.

&mut self

객체 상태를 바꾸는 메서드는 가변 참조를 받습니다.

self

값을 소비하는 동작은 소유권을 가져갑니다.

associated

new처럼 인스턴스 없이 호출할 함수는 Self 반환으로 둡니다.