본문 바로가기

Swift

(26)
[Swift] 타입캐스팅 : is, as 💡 타입캐스팅? - 인스턴스의 타입을 확인하거나 인스턴스를 같은 계층(hierachy)에 있는 다른 superclass나 subclass로 취급하는 방법 is Checking Type 말 그대로, 특정 인스턴스의 타입을 확인할 수 있는 키워드 런타임 시점에 실제 체크가 이뤄짐 반환 형은 Bool let exChar: Character = "A" print(exChar is Character)// true print(exChar is Int)// false → 이렇게 간단하게 타입을 확인할 수 있고 import Foundation class Human { } class Student: Human { } let yejin: Student = .init() print(yejin is Student)// tru..
[Swift] 서브스크립트 💡서브스크립트(Subscript)? 클래스, 구조체, 열거형에서 컬렉션, 리스트, 시퀀스 등 타입의 요소에 접근하기 위한 문법 서브스크립트를 사용하면, 추가적인 메소드 없이 특정값을 가져오거나 할당할 수 있다. ➰ 서브스크립트 문법 subscript(index: Int) -> Int { get { // 적절한 Return Value } set(newValue) { // 적절한 Set Action } } 근데 그냥 아래처럼 subscript(index: Int) -> Int { // 적절한 반환 값 } get, set 아무것도 없이 설정할 경우, get으로 동작하게 되서 읽기 전용으로 선언된다. 🚫 get-only는 가능하지만, set-only는 불가능 예제코드로 서브스크립트의 getter와 setter의..
[Swift] 상속 Swift 에서의 상속 프로토콜, 클래스에서 사용 가능 열거형, 구조체에서는 사용 불가 다중상속 지원 X 클래스에서의 상속에 대해 알아보자! 1️⃣ 상속 정의 class 이름 : 상속받을 클래스 이름 { // 구현 } 2️⃣ 메소드 키워드 정리 class Person{ var name: String = "" func selfIntroduce() { print("저는 \(name) 입니다.") } // final 키워드 : 재정의 방지 final func sayHello() { print("hello") } // 타입메서드 // 재정의 불가 타입 메서드 : static static func typeMethod() { print("type method - static") } // 재정의 가능 타입 메서드 :..
[Swift] 백준 : 10814 (구조체) 구조체를 공부를 위해 좋은 문제라고 생각되는 10814! 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 여러 변수를 보고 구조체를 생각해 낸 후, 배열에 구조체를 저장한 후 특정 프로퍼티의 정렬순서에 맞게 출력하는게 핵심이라고 생각한다👀 순서를 정리해보자면, name, age를 담은 Member 구조체 생성 구조체를 저장하기 위한 배열 memArr 생성 입력받은 데이터를 Member 구조체의 프로퍼티에 맞게 지정후, memArr에 append! memArr을 age 오름차순으로 정렬 후, sortedArr에 저장 ..
[Swift] zip(_:_:) zip(_:_:) - 두개의 시퀀스를 가지고 하나의 시퀀스 쌍을 만들어냄 let words = ["one", "two", "three", "four"] let numbers = 1...4 for (word, number) in zip(words, numbers) { print("\(word): \(number)") } // Prints "one: 1" // Prints "two: 2 // Prints "three: 3" // Prints "four: 4" 배열의 짝을 맞추는 데에 사용될 수 있음 예를 들어 arr1 = [[3, 4], [5, 6]] arr2 = [[3, 4], [5, 6]] arr3 = [[6, 8], [10, 12]] 이렇게 arr1, arr2의 각 원소를 더해 arr3를 만들어보자 i..