Swift에서 override란? 언제 사용하고, 언제 안 써야 할까? 🚀 Swift에서 override 키워드는 부모 클래스의 메서드, 프로퍼티, 또는 서브스크립트를 **자식 클래스에서 재정의(Override)**할 때 사용됩니다.즉, 기존 기능을 변경하거나 확장하고 싶을 때 필수적으로 사용해야 하는 키워드입니다.override의 개념과 함께 언제 사용해야 하고, 언제 쓰면 안 되는지 자세히 알아보겠습니다.✅ override가 필요한 이유는?부모 클래스의 기능을 변경하려면 반드시 override를 사용해야 합니다.Swift에서는 실수를 방지하기 위해 부모 클래스에 존재하는 메서드를 수정할 때 override를 명시적으로 사용하도록 강제합니다. 예제를 통해 살펴볼까요? 👇class Animal { ..
사전캠프 과제를 통해 한 번도 사용해보지 않은 mutating 키워드에 대해 다시 한 번 깊이 알아보자. Swift에서 mutating 키워드는 구조체(struct) 또는 열거형(enum) 내부에서 인스턴스의 속성을 변경할 수 있도록 해주는 키워드 mutating 키워드가 필요한 이유Swift의 구조체(struct)와 열거형(enum)은 값 타입(value type) 이므로, 메서드 내에서 인스턴스의 속성을 변경하려고 하면 기본적으로 컴파일 에러가 발생합니다.struct Counter { var value: Int = 0 func increment() { value += 1 // ❌ 오류: 구조체의 속성을 변경할 수 없음 }} mutating 키워드 사용법struct Co..
Swift에서 stride와 reduce는 각각 반복 시퀀스를 생성하고 시퀀스를 축소하여 단일 값을 계산하는 데 사용되는 강력한 함수입니다. stride 함수stride 함수는 일정한 간격으로 값의 시퀀스를 생성하는 데 사용됩니다. stride(from:to:by:)와 stride(from:through:by:) 두 가지 형태가 있습니다. 1. stride(from:to:by:)시작 값에서 종료 값까지 일정한 간격으로 증가하는 시퀀스를 생성합니다. 종료 값은 포함되지 않습니다.for i in stride(from: 0, to: 10, by: 2) { print(i)}출력: 0 2 4 6 82. stride(from:through:by:)시작 값에서 종료 값까지 일정한 간격으로 증가하는 시퀀스를 생..
Swift에서 zip 함수는 두 개의 시퀀스를 쌍(pair)으로 묶어서 새로운 시퀀스를 만드는 데 사용됩니다. 이를 통해 두 시퀀스의 요소를 병렬로 처리할 수 있습니다. 예를 들어, 다음과 같은 두 배열이 있다고 가정해보자.let array1 = [1, 2, 3]let array2 = ["a", "b", "c"] zip 함수를 사용하여 이 두 배열을 쌍으로 묶으면 다음과 같은 결과를 얻을 수 있습니다.let zippedArray = zip(array1, array2)for (num, letter) in zippedArray { print("\(num) - \(letter)")} 출력은 다음과 같습니다.1 - a2 - b3 - c 이와 같이, zip 함수는 두 시퀀스를 병렬로 처리하고, 각 요소를 튜..
Swift에서 prefix와 suffix는 컬렉션(예: 문자열, 배열 등)의 처음 또는 마지막 몇 개의 요소를 가져오는 데 사용됩니다. 이 함수들은 매우 유용하며, 주로 슬라이싱(slicing) 작업에 활용됩니다. prefixprefix는 컬렉션의 처음 몇 개의 요소를 가져옵니다. 이 함수는 컬렉션의 원소를 앞에서부터 지정한 개수만큼 반환합니다. 문법collection.prefix(n) 예제let array = [1, 2, 3, 4, 5]let prefixArray = array.prefix(3)print(prefixArray) // [1, 2, 3]let string = "Hello, World!"let prefixString = string.prefix(5)print(prefixString) // "..