본문 바로가기
문법관련/Swift

값 타입과 참조 타입( 클래스와 구조체 )

by print_soo 2022. 6. 1.

값 타입(Value)

데이터를 전달할 때 값을 복사하여 전달하는 것

즉, 전달 받은 값을 변경해도 원본 값은 영향을 받지 않는다. 

 

값타입의 예시)

  • 열거형
  • 구조체
  • 배열
  • 문자열
  • 딕셔너리
  • 튜플

따라서 구조체 또는 열거형은 값 타입이다.

값 타입 속성은 기본적으로 인스턴스 메서드 내에서 수정할 수 없기 때문에 "mutating" 키워드를 작성한다. 

 

 

참조 타입(Reference)

데이터를 전달할 때 값의 메모리 위치를 전달하는 것

즉, 전달 받은 값을 변경하면 원본 값도 변경된다. 

 

참조 타입의 예시)

  • 클래스
  • 클로저
  • 함수