본문 바로가기

구조체2

[iOS/Swift] immutable한 구조체, mutating을 적용한다면? 이전에 다룬 구조체(Struct)의 주요한 특징을 기억하시나요? 참조 타입인 클래스(Class)와는 달리, 인스턴스 객체가 생성될 때 마다 별도의 값을 가지게 되는, '값 타입(Value Type)'이란 부분이 구조체의 중요한 특징 중 하나였습니다. 그렇기 때문에 ~ 클래스는 인스턴스 메서드를 활용해 내부 인스턴스 값을 변경할 수 있으나, 구조체는 '값' 자체를 복사하여 사용하므로 그렇지 못한다고 생각했지만...? 구조체의 성질을 '변화' 시켜서 내부 데이터 값을 수정할 수도 있습니다! 그 시작으로 mutable과 immutable이란 용어를 짚고 넘어가보도록 하겠습니다. mutable과 immutable 구조체는 상수(Constant)와 동일한 변화되지 않는(Immutable) 성질이다. mutatin.. 2023. 3. 7.
[iOS/Swift] Swift에서의 구조체(Struct), 값 타입과 참조 타입의 비교 이번 포스팅에서는 앞서 다뤄온 '클래스'와 비슷해 보이지만, 큰 차이점이 존재하는 구조체(Struct)에 대한 내용을 살펴볼까 합니다. 어떻게 선언하고, 사용하는지와 더불어 클래스와의 차이점에 대해 알아보도록 하겠습니다. Swift의 구조체 클래스와 유사하나, 값(Value) 타입의 캡슐화를 제공하는 틀 클래스와 동일하게, 구조체 또한 [객체지향 프로그래밍]의 기초를 형성합니다. 선언된 데이터와 기능(프로퍼티, 메서드)을 재 사용할 수 있는 객체이며, 추상화(인스턴스로의 실체화를 위해 공통된 속성과 행위를 정의)를 목표로 관련된 데이터를 캡슐화(결합, 집합화)하는 방법을 제공합니다. 선언 및 활용방법 클래스와는 달리, class 키워드 대신 struct 키워드를 사용하여 선언합니다. 클래스와 동일하게 프.. 2023. 2. 22.