본문 바로가기

swift 문법23

[Swift] 초기화 초기화 초기화와 생성자 초기화는 클래스, 구조체, 또는 열거형의 인스턴스를 생성하고 속성을 초기화하여 사용할 수 있도록 하는 과정을 의미 Swift에서 초기화는 객체가 메모리에 할당되고 속성이 적절히 설정되어 안정적으로 사용될 수 있도록 하는 중요한 단계이다. 인스턴스란? 객체 지향 프로그래밍에서, 인스턴스(Instance)는 클래스, 구조체 또는 열거형과 같은 타입의 실제 예시를 나타낸다. 클래스나 구조체 등의 템플릿(틀)을 기반으로 생성된 실제 데이터를 가리킨다. 즉, 클래스나 구조체를 기반으로 만들어진 객체를 인스턴스라고 한다. // Person 클래스 정의 class Person { var name: String var age: Int init(name: String, age: Int) {// i.. 2023. 12. 7.
[Swift] 상속 상속 상속의 개념과 키워드 Swift에서 상속(Inheritance)은 클래스(Class) 간에 코드 및 속성을 공유하는 메커니즘을 제공한다. 상속은 기존 클래스에서 새로운 클래스를 만들고, 기존 클래스의 특성(속성과 메서드)을 재사용하면서 새로운 기능을 추가할 수 있도록 해준다(서브 클래싱). 장점 코드 재사용성: 기존 클래스의 특성을 재사용하여 중복을 피하고 유지보수성을 높일 수 있다. 계층 구조: 부모 클래스와 이를 상속받는 자식 클래스 간에 계층 구조를 형성하여 다양한 수준의 추상화와 분류를 가능하게 한다. 키워드 override 부모 클래스에서 상속받은 메서드, 속성 또는 서브스크립트를 자식 클래스에서 다시 정의할 때 사용된다. 자식 클래스에서 부모 클래스의 메서드를 재정의하여 새로운 구현을 제.. 2023. 12. 7.
[Swift] 클래스, 구조체, 열거형 클래스, 구조체, 열거형 클래스 (Class) 클래스는 프로퍼티(Property)과 메서드(Method)로 구성 프로퍼티(Properties): 프로퍼티는 클래스, 구조체, 또는 열거형 안에 있는 변수 또는 상수를 나타낸다. 클래스의 속성으로 객체의 상태를 저장하거나 제공한다. 이러한 상태는 클래스의 인스턴스가 가질 수 있는 고유한 데이터를 나타낸다. 프로퍼티는 저장 프로퍼티(Stored Properties)와 계산 프로퍼티(Computed Properties)로 나뉜다. 저장 프로퍼티: 값을 저장하고, 인스턴스의 일부로서 그 값을 유지한다. 계산 프로퍼티: 특정한 계산을 통해 값을 반환하며, 값을 저장하지 않고 필요할 때마다 새로 계산된다. 메서드(Methods): 메서드는 클래스, 구조체, 또는 열거.. 2023. 12. 7.
[Swift] 객체 지향 객체 지향 객체 지향 프로그래밍 (Object-Oriented Programming) 줄여서 OOP라고 부른다. 프로그램을 어떻게 설계해야하는 지에 대한 방법론 중 하나(패러다임) 각 객체와 그 객체들간의 관계를 설계하는 것 객체 지향으로 짜여진 프로그램은 여러 객체들의 모임 각 객체는 메시지를 주고 받을 수 있으며, 데이터를 처리할 수 있다. 📘 OOP 특징 추상화 (Abstraction): 추상화는 객체 지향 프로그래밍의 핵심 개념 중 하나 복잡한 시스템을 단순화하여 중요한 부분을 강조하고 불필요한 부분을 숨기는 것을 의미 클래스나 프로토콜을 통해 데이터와 동작을 추상화하여 필요한 정보만을 노출시키는 것을 포함 캡슐화 (Encapsulation): 객체의 상태(데이터)와 행동(메서드)를 하나로 묶고,.. 2023. 12. 7.
[Swift] 배열, 세트, 딕셔너리 배열, 세트, 딕셔너리 배열 (Array) 동일한 타입의 요소들을 저장하는 순서가 있는 컬렉션 배열은 특정 요소의 인덱스를 사용하여 접근하고 수정할 수 있으며, 배열의 크기는 동적으로 조절된다. 인덱스(index)는 0 부터 시작한다. 처음에 선언할 때(초기화할 때) 배열의 길이를 미리 지정하지 않아도 된다. 배열 생성하기 // 배열 생성하기 // 1. 타입 추론으로 생성하기 var array1 = [1, 2, 3] var array2 = [] // error! 타입 추론으론 빈 배열 생성 불가 // 2. 타입 Annotation으로 생성하기 var array3: [Int] = [1, 2, 3] var array4: [Int] = [] //빈 배열 생성 // 3. 생성자로 생성하기 var array5 =.. 2023. 12. 7.
[Swift] 스택, 큐 스택, 큐 큐 (Queue) 큐와 스택은 데이터에 대한 개념이다. Swift에서는 따로 큐와 스택을 지원하지 않으면 Array 등을 이용해서 직접 구현할 수 있다. First-In-First-Out (FIFO) 먼저 들어온 값을 먼저 내보내는 구조 /* 란? 제네릭이라는 것인데, 하나의 타입으로 국한되지 않고 타입에 유연하게 코드를 작성할 수 있는 기능 */ // struct - 내부 속성들을 감싸고 있는 틀 struct Queue { private var queue: [T] = [] public var count: Int { return queue.count } public var isEmpty: Bool { return queue.isEmpty } public mutating func enqueue(.. 2023. 12. 6.