issues
search
HypeDitto
/
iOS-Study
iOS 기술 면접 대비
0
stars
0
forks
source link
mutating 키워드에 대해 설명하시오.
#64
Open
YouHojoon
opened
1 year ago
YouHojoon
commented
1 year ago
Struct나 Enum은 value 타입이기 때문에 기본적으로 인스턴스 메서드 내에서 property를 수정 할 수 없음. 하지만 수정해야할 경우 mutating 키워드를 붙임.
mutating 키워드는 해당 메소드가 호출된다면 실제 복사를 해야한다는 의미
HeegeePark
commented
1 year ago
mutating 키워드는 해당 메서드가 호출된다면 실제 복사를 해야한다고 알려주는 역할입니다.
값 타입인 struct와 enum은 인스턴스 메서드 내에서 수정이 불가하지만, 수정이 필요한 경우
mutating
을 붙여주면 수정할 수 있습니다. 또한 메서드는 self property에 새 인스턴스를 할당할 수도 있습니다.
mutating을 선언한 메서드는 메서드 내에서 프로퍼티를 변경할 수 있고, 메서드가 종료될 때 변경한 모든 내용을 원래 struct에 다시 기록합니다.
하지만 let으로 선언한 인스턴스는 프로퍼티가 변수여도 속성을 변경할 수 없기 때문에 mutating 메서드를 호출할 수 없습니다.