인스턴스를 빌려 읽는 메서드에서 가장 자주 쓰입니다.
impl 블록은 구조체와 함께 쓰이는 동작을 같은 타입 근처에 배치해 데이터와 행위를 연결합니다.
rect.area()는 첫 인수로 &self를 넘기는 호출이며, Rectangle::square는 타입에 직접 붙은 생성자처럼 읽힙니다.
인스턴스를 빌려 읽는 메서드에서 가장 자주 쓰입니다.
메서드가 인스턴스 내부 값을 수정해야 할 때 선택합니다.
소유권을 가져와 인스턴스를 소비하는 동작을 표현합니다.
self 없이 타입 이름으로 호출하며 생성자나 보조 계산에 적합합니다.
어떤 타입에 붙은 impl 블록인지 먼저 확인합니다.
self 형태로 읽기, 쓰기, 소비 중 무엇을 하는지 판단합니다.
점 호출과 타입 이름 호출을 구분해 사용 위치를 정합니다.
메서드 문법은 함수를 더 짧게 부르는 장식이 아니라 타입의 책임을 한곳에 모으는 설계 도구입니다.