문법관련/Swift
값 타입과 참조 타입( 클래스와 구조체 )
kkkkk1023
2022. 6. 1. 18:34
값 타입(Value)
데이터를 전달할 때 값을 복사하여 전달하는 것
즉, 전달 받은 값을 변경해도 원본 값은 영향을 받지 않는다.
값타입의 예시)
- 열거형
- 구조체
- 배열
- 문자열
- 딕셔너리
- 튜플
따라서 구조체 또는 열거형은 값 타입이다.
값 타입 속성은 기본적으로 인스턴스 메서드 내에서 수정할 수 없기 때문에 "mutating" 키워드를 작성한다.
참조 타입(Reference)
데이터를 전달할 때 값의 메모리 위치를 전달하는 것
즉, 전달 받은 값을 변경하면 원본 값도 변경된다.
참조 타입의 예시)
- 클래스
- 클로저
- 함수