xxo' TIL/WIL

IOS/Swift 11

[Swift] 프로토콜(Protocol), 확장(Extension)

swift에서 프로토콜(protocol)은 특정한 기능을 제공하는 규약을 정의하는 역할을 합니다.특정 작업이나 기능에 적합한 메서드, 프로퍼티 및 기타 요구사항의 '약속'을 정의하며, 즉 프로토콜은 해당 프로토콜을 채택하는 클래스, 구조체, 열거형 등이 어떤 메서드나 속성을 구현해야 하는지를 명시합니다.프로토콜의 요구사항을 충족시키는 모든 타입은 해당 프로토콜을 준수한다 혹은 따른다(protocol conforming)고 합니다. 프로토콜을 사용하면 코드의 재사용성, 확장성, 유연성을 높일 수 있습니다. https://docs.swift.org/swift-book/documentation/the-swift-programming-language/protocols/ Documentation docs.swif..

IOS/Swift 2025.06.22

[Swift] 클래스(Class)와 구조체(Struct) - 클래스(Class), 상속(Inheritance)

Swift에서 class와 struct는 프로그램의 코드를 추상화 하기 위해 사용됩니다.모두 객체를 생성할 수 있는 데이터 타입이지만 클래스는 참조 타입(reference type), 구조체는 값 타입(value type)으로, 데이터를 캡슐화하는 데 사용되는 사용자 정의 데이터 타입입니다.구조체와 클래스는 프로퍼티와 메소드를 사용하여 구조화된 데이터와 기능을 가질 수 있으며,새로운 사용자 정의 데이터 타입을 만듭니다.클래스와 구조체는 비슷하지만 몇 가지 차이점이 있습니다.구조체는 객체처럼 메모리에서 복사되며, 참조 타입인 클래스와는 다르게 변경 시 값이 복사됩니다.복사 및 전달방식, 상속 지원 여부, 메모리 관리 방식 등에서 차이가 발생 합니다. https://docs.swift.org/swift-bo..

IOS/Swift 2025.06.21

[Swift] 클래스(Class)와 구조체(Struct) - 구조체(Struct)

Swift에서 class와 struct는 프로그램의 코드를 추상화 하기 위해 사용됩니다.모두 객체를 생성할 수 있는 데이터 타입이지만 클래스는 참조 타입(reference type), 구조체는 값 타입(value type)으로, 데이터를 캡슐화하는 데 사용되는 사용자 정의 데이터 타입입니다. 구조체와 클래스는 프로퍼티와 메소드를 사용하여 구조화된 데이터와 기능을 가질 수 있으며, 새로운 사용자 정의 데이터 타입을 만듭니다.클래스와 구조체는 비슷하지만 몇 가지 차이점이 있습니다. 구조체는 객체처럼 메모리에서 복사되며, 참조 타입인 클래스와는 다르게 변경 시 값이 복사됩니다.복사 및 전달방식, 상속 지원 여부, 메모리 관리 방식 등에서 차이가 발생 합니다. https://docs.swift.org/swift..

IOS/Swift 2025.06.20

[Swift] 클로저(Closure)

클로저는 함수와 유사하지만, 함수와 달리 이름이 없으며, 주변 문맥으로부터 값을 캡처할 수 있는 코드 블록입니다. 클로저는 코드에서 전달되어 사용할 수 있는 독립적인 기능 블록입니다. Swift의 클로저는 다른 프로그래밍 언어의 클로저, 익명 함수, 람다, 블록과 유사합니다.클로저는 정의된 컨텍스트에서 모든 상수와 변수에 대한 참조를 캡처하고 저장할 수 있습니다. 이를 해당 상수와 변수에 대한 클로저라고 합니다. Swift는 캡처와 관련된 모든 메모리 관리를 자동으로 처리합니다.파라미터를 받을 수 있고, 반환 값이 존재할 수 있다는 점에서 함수와 동일합니다. https://docs.swift.org/swift-book/documentation/the-swift-programming-language/clo..

IOS/Swift 2025.06.19

[Swift] 함수(Function)

함수는 특정 태스크 작업을 수행하는 코드 블록입니다. 함수를 사용하면 코드의 재사용성과 가독성을 높일 수 있습니다. Swift에서는 함수의 정의, 호출, 매개변수와 반환값 등을 통해 다양한 기능을 구현할 수 있습니다. https://docs.swift.org/swift-book/documentation/the-swift-programming-language/functions/ Documentation docs.swift.org 함수(Function) 정의 : 함수는 특정 작업을 수행하기 위해 함께 구성된 일련의 명령문 또는 코드의 묶음이다.함수는 입력값을 받아 처리하고, 그 결과를 출력값으로 반환할 수 있다. 그리고 그 안에 정의된 코드를 실행하는 역할을 한다. 함수는 여러 번 사용될 수 있기 때문에, ..

IOS/Swift 2025.06.19

[Swift] 옵셔널(Optional), 타입캐스팅(Typecasting)

Swift에서 Optional은 값이 있을 수도, 없을 수도 있는 변수나 상수를 나타내는 타입입니다. 이는 값이 반드시 존재하지 않아도 되는 상황을 처리할 때 유용하게 사용됩니다.Optional은 변수의 값이 nil 일 수도 있다라는 것을 표현합니다. 반대로 옵셔널이 아니라면 해당 값은 절대 nil 이 될 수 없음을 의미합니다. Swift에서는 옵셔널은 말 그대로 선택적이며, 기본 값은 non-Optional입니다. https://developer.apple.com/documentation/swift/optional Optional | Apple Developer DocumentationA type that represents either a wrapped value or the absence of a ..

IOS/Swift 2025.06.17

[Swift] 제어문(Control Flow) - 조건문(Conditions), 반복문(Roops)

조건을 검사할 때 사용하는 if, switch문과 반복되는 연산을 할 때 사용하는 for, while문을 정리. 특정 조건에 따라 여러 코드를 실행하는 것이 유용한 경우가 많습니다. 오류가 발생하면 추가 코드를 실행하거나, 값이 너무 높거나 낮을 때 메시지를 표시하고 싶을 수 있습니다. 이를 위해 코드의 일부를 조건부로 만들 수 있습니다. Swift는 코드에 조건 분기를 추가하는 두 가지 방법, 즉 ' if문'과 ' switch명령문'을 제공합니다. 일반적으로 ' if명령문'은 가능한 결과가 몇 개뿐인 간단한 조건을 평가하는 데 사용됩니다. ' switch명령문'은 여러 가지 순열이 가능한 더 복잡한 조건에 더 적합하며, 패턴 매칭을 통해 실행할 적절한 코드 분기를 선택할 수 있는 상황에서 유용합니다. ..

IOS/Swift 2025.06.16

[Swift] 연산자(Operator)

연산자는 값을 확인, 변경 또는 결합하는 데 사용하는 특수 기호 또는 구문입니다. 예를 들어, 덧셈 연산자(+)는 i = 1 + 2와 같이 두 개의 숫자를 더하고 논리적 AND 연산자(&&)는 입력된 DoorCode & & passRetinaScan과 같이 두 개의 불리언 값을 결합합니다.Swift에서는 산술 연산자(+, -, /, %)와 논리 연산자(&&, ||), 그리고 범위 연산자(ab)를 사용할 수 있습니다. https://docs.swift.org/swift-book/documentation/the-swift-programming-language/basicoperators Documentation docs.swift.org 할당 연산자(=) : 할당 연산자는 상수는 변수의 값을 초기화 시키거나 ..

IOS/Swift 2025.06.14

[Swift] 열거형 enum(Enumerations)

enum은 열거형(Enumerations)의 줄임말로, 서로 관계있는 값들을 모아서 표현해 놓은 것으로 특정 타입을 표현할 때 사용하기 좋다. 애플 개발자 문서 swift enum 정의를 해석해 보면 열거 형은 관련된 값의 그룹에 대한 공통 유형을 정의하고 코드 내에서 유형 안전한 방식으로 해당 값을 사용할 수 있게 해 줍니다.https://docs.swift.org/swift-book/documentation/the-swift-programming-language/enumerations/ Documentation docs.swift.org 열거형 : 관련된 값으로 이루어진 그룹을 공통의 형으로(type) 선언해 형 안전성(type-safety)을 보장하는 방법으로 코드를 다룰 수 있게 해 준다. 특정 ..

IOS/Swift 2025.06.13

[Swift] 컬렉션 타입(Collection Types) - Array, Dictionary, Set, tuple

Swift는 값 컬렉션을 저장하기 위해 배열, 집합, 딕셔너리라는 세 가지 주요 컬렉션 유형을 제공합니다. 배열은 순서가 있는 값의 컬렉션입니다. 집합은 순서가 없는 고유한 값의 컬렉션입니다. 딕셔너리는 순서가 없는 키-값 연결의 컬렉션입니다.Swift의 배열, 집합, 딕셔너리는 저장할 수 있는 값과 키의 타입을 항상 명확하게 정의합니다. 즉, 실수로 잘못된 타입의 값을 컬렉션에 삽입할 수 없습니다. 또한 컬렉션에서 가져올 값의 타입을 확실하게 알 수 있습니다. https://docs.swift.org/swift-book/documentation/the-swift-programming-language/collectiontypes/ Documentation docs.swift.org 배열(array) : ..

IOS/Swift 2025.06.11