전체 글 45

[iOS/Swift] 값 형식(Value Types), 참조 형식(Reference Types) 이란?

Swift에서 값 형식으로 분류되는 것은 구조체, 열거형, 튜플이 있고참조 형식으로는 클래스와 클로저가 있습니다. 값 형식은 값을 저장하거나 전달할 때 새로운 복사본을 만들고참조 형식은 복사본 없이 참조만 전달하게 됩니다. 이론만 보면 어려우니 각 형식의 대표적인 문법 구조체와 클래스로 코드를 확인해 보자면 값 형식(Value Type)struct Point { var x: Int var y: Int}var point1 = Point(x: 10, y: 20)var point2 = point1 // point1을 복사하여 point2 생성point2.x = 30 // point2의 x 값 수정print("point1: \(point1.x), point2: \(point2.x)") // 출력: p..

Apple/Swift 2024.07.31

[iOS/Swift] 생성자(Constructor), 초기화(Initialization) 란?

생성자(Constructor), 초기화(Initialization) 란? 먼저 생성자를 정의하자면생성자는 클래스나 구조체의 인스턴스를 생성할 때 호출되는 특별한 메서드입니다. 이 메서드는 인스턴스의 초기 상태를 설정합니다. 생성자의 역할은 객체가 유효한 상태가 되도록 모든 필수 프로퍼티를 초기화하는 것입니다. 즉, 생성자는 객체가 생성된 후 사용할 준비가 완료된 상태로 만드는 작업을 담당합니다. 이를 통해 객체는 올바르게 설정된 프로퍼티를 가지며 예상된 동작을 수행할 수 있게 됩니다. 이 과정은 인스턴스 초기화라고 하며, 객체의 모든 속성에 적절한 초기값을 설정하는 작업을 포함합니다. 생성자의 기본 문법은init(parameters) { // 생성자 본문(statements) // 프로퍼티를 ..

Apple/Swift 2024.07.26

[iOS/Swift] 구조체(Struct), 클래스(class) 란?

구조체와 클래스의 공통점은구조체와 클래스 모두 프로퍼티와 메서드를 포함하고 초기화할 수 있으며, 확장 기능성과 프로토콜 준수 등의 공통된 기능을 통해 데이터와 행동을 캡슐화할 수 있는 사용자 정의 데이터 타입입니다.  위 설명에서 사용자 정의 데이터 타입이란배열로 먼저 예를 들면 배열은 동일한 데이터 타입을 하나의 묶음으로 나타내는 거지만 구조체와 클래스는 다른 데이터 타입들을 하나의 묶음으로 나타내는 것입니다 이것을 사용자 정의 데이터 타입이라고 합니다.struct Person { var name: String var age: Int}이렇게 Person 구조체에 String타입의 name과 Int타입의 age와 같은 다른 타입을 하나의 묶음으로 나타낸 것을 알 수 있습니다.  다음은 차이점입..

Apple/Swift 2024.07.22

[iOS/Swift] 열거형(Enums) 이란?

열거형이란?연관된 값들을 모아 하나의 이름으로 묶은 타입을 열거형이라고 부릅니다.열거형에 포함된 변수 혹은 상수는 이름 그대로 부르지 않고 케이스(case)라고 부릅니다. 열거형을 사용하는 이유는 다음과 같습니다.코드의 가독성 향상타입 안전성 보장제한적인 값 집합 표현메모리 효율성먼저 열거형의 기본 구조를 살펴봅시다.enum 열거형_이름 { case 케이스1 case 케이스2 case 케이스3 case 케이스4, 케이스5, 케이스6 // 추가적인 케이스들...} enum 키워드를 사용하여 열거형을 정의합니다.열거형_이름은 열거형의 이름을 지정합니다.case 키워드를 사용하여 열거형의 개별 케이스를 정의합니다.각 케이스는 case 키워드 뒤에 고유한 이름을 가집니다.여러 개의 케..

Apple/Swift 2024.07.20

[iOS/Swift] 옵셔널(Optional), 옵셔널 바인딩(Optional Binding) 이란?

옵셔널(Optional) 이란?스위프트에서 옵셔널(Optional)은 값이 있을 수도 있고 없을 수도 있음을 나타내는 데이터 타입입니다. 먼저 스위프트에서 옵셔널이 존재하는 이유를 알아보자면 일반적인 프로그래밍 언어에서 null 또는 nil과 같은 값이 없는 변수에 접근하면 대부분 프로그램이 종료되거나 런타임 에러가 발생하는 문제를 방지하기 위해서입니다. 옵셔널을 선언해 봅시다.타입 뒤에?를 붙이면 그 변수/상수가 옵셔널 타입이 됩니다.var age: Int?var name: String? var height: Double?var isStudent: Bool?var scores: [Int]?다양한 타입의 변수들을 옵셔널 타입으로 선언할 수 있습니다. 옵셔널 타입으로 선언된 변수들은 nil을 가질 수 있으..

Apple/Swift 2024.07.19