impl 블록
impl Rectangle { ... }
타입의 네임스페이스 안에 관련 동작을 모은다.
메서드는 타입에 붙은 함수이고, 첫 매개변수의 형태가 인스턴스를 읽는지, 바꾸는지, 소비하는지를 알려준다.
impl Rectangle { ... }
타입의 네임스페이스 안에 관련 동작을 모은다.
fn area(&self)
호출한 인스턴스를 불변으로 빌려 읽는다.
fn square(size) -> Self
인스턴스 없이 타입 이름으로 호출한다.
.method() / Type::fn()
점은 값에서, 쌍콜론은 타입 네임스페이스에서 찾는다.
&self | &mut self | self
읽기, 변경, 소비 중 어떤 API인지 시그니처가 말한다.
rect1.can_hold(&rect2)
Rectangle::square(3)
&self
읽기 전용
면적 계산, 조건 검사
&mut self
내부 변경
필드 갱신, 상태 전환
self
값 소비
다른 타입으로 변환