struct StructName {
프로퍼티와 메서드
}
class ClassName {
프로퍼티와 메서드
}
class YoutuberClass {
var name: String
var subscribersCount: Int
// 생성자
init(_ name: String, subscribersCount: Int) {
self.name = name
self.subscribersCount = subscribersCount
}
}
값을 저장할 프로퍼티를 선언할 수 있음
함수적 기능을 하는 메서드를 선언할 수 있음
내부 값에 .(마침표 연산)을 사용하여 접근할 수 있음
생성자를 사용해 초기 상태를 설정할 수 있음
extension
을 사용해 기능을 확장할 수 있음
protocol을 채택하여 기능을 설정할 수 있음
✚ ARC(Automatic Reference Counting) 란?
ARC는 Swift 프로그램 메모리 관리 기법으로, 자동으로 메모리를 관리해주는 방식이다.
- ARC는 메모리 영역 중 힙 영역을 관리한다.
- ARC는 클래스 인스턴스가 더 이상 필요하지 않을 때 메모리를 자동으로 해제한다.
// class는 참조 타입
class TmpClass {
var count: Int = 0
}
var class1 = TmpClass()
var class2 = class1
var class3 = class1
class3.count = 2
class1.count // 2
// struct는 값 타입
struct TmpStruct {
var count: Int = 0
}
var struct1 = TmpStruct()
var struct2 = struct1
var struct3 = struct1
struct2.count = 2
struct3.count = 3
struct1.count // 0
struct2.count // 2
struct3.count // 3
참조
개발하는 정대리 - 스위프트 기초 문법: 클래스 vs 스트럭트
개발자 소들이 - iOS 메모리 관리
Class vs Struct in Swift