iOS/Swift
[Swift] 문자열은 참조 타입이 아닌 값 타입이다?
Dev.Andy
2023. 4. 24. 23:17
📌 문자열의 타입은 값 타입(Value Type)
Xcode에서 String의 Definition 검색
Xcode에서 String을 입력하고 커맨드(command) 키를 누른 채로 String을 눌러 보자.
Swift에서 문자열은 구조체이다. 따라서 문자열은 값 타입이다.
String이 구조체(struct)로 구현되어 있는 것을 알 수 있다. 아직 블로그에서 다루지는 않았지만 Swift에서 구조체는 값 타입이다. 따라서 String은 값 타입(value type)이다.
값 타입의 특징 - 복사본의 전달/할당
- 값 타입의 특성 상, 문자열 값을 함수/메서드에 전달할 때나 상수/변수에 할당할 때 그 값은 복사되어 복사된 값이 전달/할당 된다.
- 전달/할당 된 복사본의 문자열은 원본의 문자열을 수정한다고 해서 복사본이 수정되지 않는다.