본문 바로가기

Swift57

[Swift] 자료형 - class(클래스) 기본 개요 연관된 값들과 메소드들을 캡슐화하기 위한 자료구조 구조 class SampleClass { // Property var a: Int // Method func show() { print(a) } // initializer init(a: Int) { self.a = a } } 프로퍼티 메소드 이니셜라이저 특징 클래스는 레퍼런스 타입 var s1 = SampleClass(a: 1) var s2 = s1 s2.a = 10 print(s1.a)// 10 print(s1 === s2 ? true : false)// true → s1을 s2에 복사했을 때, s1와 똑같은 값을 가진 새로운 인스턴스가 생성되는게 아닌, 동일한 인스턴스를 가리키는 레퍼런스가 생성된다. (얕은 복사) 그래서 s1의 값을 변경하면 s.. 2023. 3. 5.
[Swift] 자료형 - Enumeration(열거형) 기본 스위프트의 열거형은 여러가지 선택지를 제공해 주고 그 안의 값만 가질 수 있게 하는 자료형이다. 튜플과 비슷하게 열거형 내부의 항목을 추가하거나 삭제 할 수 없는 특징을 가지고 있다. 선언 enum OS { case bsd case linux case unix case windows } enum OS { case bsd, linux, unix, windows } 위 두 코드는 표현의 차이일 뿐 정확히 똑같은 열거형 OS를 생성한다. enum 선언은 일반적으로 class나 struct 처럼 타입 선언이므로 파스칼 표기법을 따른다(맨 앞의 문자도 대문자를 쓴다) 생성 및 초기화 var macOS: OS = OS.unix // 타입 어노테이션, 열거형 표기 var ubuntu: OS = .linux // 타입.. 2023. 3. 5.
[Swift] 자료형 - tuple(튜플) 스위프트에서 튜플은 여러가지 데이터들을 묶은 데이터 타입이다. 파이썬에도 비슷한 자료형인 튜플이 있지만, 개인적인 생각으론 파이썬의 튜플보다는 C의 구조체와 더 비슷하다. 파이썬에도 여러가지 확장 튜플이 있긴 하지만. 생성 튜플의 기본적인 생성 방법은 파이썬과 크게 다르지 않게 괄호() 사이에 데이터를 묶음으로 생성 할 수 있다. var tuple1: (Int, Double, String) = (0, 1.0, "2") var tuple2: ((Int, Int), [Double]) = ((3, 4), [5.0 , 6.0]) print("tuple1: ", tuple1) print("tuple2: ", tuple2) // tuple1: (0, 1.0, "2") // tuple2: ((3, 4), [5.0, .. 2023. 3. 1.