본문 바로가기

타입

타입캐스팅 타입캐스팅스위프트의 타입캐스팅은 인스턴스의 타입을 확인하는 용도 또는 클래스의 인스턴스를 부모 혹은 자식 클래스의 타입으로 사용할 수 있는지 확인하는 용도로 사용합니다. is, as를 사용합니다. 소스코드 타입 캐스팅 예제를 위한 클래스 정의class Person { var name: String = "" func breath() { print("숨을 쉽니다") } } class Student: Person { var school: String = "" func goToSchool() { print("등교를 합니다") } } class UniversityStudent: Student { var major: String = "" func goToMT() { print("멤버쉽 트레이닝을 갑니다 신남!") .. 더보기
클래스, 구조체, 열거형 비교 Class vs Struct/Enum 소스코드 열거형과 구조체는 값 타입이며, 클래스는 참조 타입이라는 것이 가장 큰 차이입니다. 또한, 클래스는 상속이 가능하지만 구조체와 열거형은 상속이 불가능합니다.struct ValueType { var property = 1 } class ReferenceType { var property = 1 } // 첫 번째 구조체 인스턴스 let firstStructInstance = ValueType() // 두 번째 구조체 인스턴스에 첫 번째 인스턴스 값 복사 var secondStructInstance = firstStructInstance // 두 번째 구조체 인스턴스 프로퍼티 값 수정 secondStructInstance.property = 2 // 두 번째 구조.. 더보기
데이터 타입 Swift의 기본 데이터 타입 Bool Int, UInt Float, Double Character, String 소스코드 Bool true와 false만을 값으로 가지는 타입 var someBool: Bool = true someBool = false // someBool = 0 // 컴파일 오류발생 // someBool = 1 // 컴파일 오류발생 Int, UInt Int 정수 타입. 현재는 기본적으로 64비트 정수형. var someInt: Int = -100 // someInt = 100.1 // 컴파일 오류발생 UInt 양의 정수 타입. 현재는 기본적으로 64비트 양의 정수형. var someUInt: UInt = 100 // someUInt = -100 // 컴파일 오류발생 // someUIn.. 더보기
Swift에서 Objective-C의 상수 대체제에 관하여 오늘의 주제 Objective-C의 상수와 스위프트의 상수 안녕하세요 야곰입니다.Objective-C를 쓰다가 스위프트로 넘어왔을 때 고민되었던 부분 중의 하나인 스위프트의 상수에 관해 이야기해 보려 합니다. 혼자 프로젝트를 진행하다 보면 상수의 필요성을 많이 느낄 수 없을지 모르지만, 누군가 협업을 하게 된다면, 혹은 미래 또는 과거의 나와 협업(?)을 하게 된다면 상수의 필요성을 많이 느끼게 됩니다. 바꾸면 안 되는 데이터를 실수로 바꿔서 난감했던 경험이 없나요? 혹시 그런 적이 있다면 상수의 필요성에 대해서는 많이 공감하실 것으로 생각됩니다. * 오해가 생길 소지의 표현들이 있어서 처음 발행 이후 조금 수정하였습니다. 좋은 의견 주신 과니님 고맙습니다 :) 사라진 const 사실 저는 Objecti.. 더보기
Swift 기초문법 - 변수, 상수, 기초 데이터 타입 오늘의 주제 1. 스위프트에서의 명명법 2. 변수, 상수의 선언3. 기초 데이터 타입 안녕하세요, 야곰입니다. 지난 포스팅에서는 스위프트가 어떤 언어인지에 대해 잠시 살펴보았습니다. 2017/01/23 - [Swift] - Swift란 어떤 언어인가? 이번에는 스위프트의 아주 기초적인 문법에 대해 알아보겠습니다 :) 이름짓기프로그래밍을 할 때 우리는 변수, 상수, 함수, 타입 등을 제각각 구분할 수 있도록 이름을 지어주어야 합니다. 그런데 각 언어마다 이름을 지어줄 때 지켜야 하는 규칙들이 있습니다. 스위프트에도 마찬가지로 이름을 지을 때 생각해 주어야 할 점들이 있는데요, 간략히 알아보겠습니다. 이름은 유니코드에서 지원하는 어떤 문자(한글, 한자, 영문, 숫자, 이모티콘 등등)라도 사용할 수 있습니다... 더보기