Swift: Struct / 구조체 기초

Wooyo·2023년 10월 17일
0
post-thumbnail

1. 구조체

  • 스위프트 대부분 타입은 구조체로 형성
  • 구조체는 값 타입
  • 상속 불가
  • 인스턴스 / 타입 메서드
  • 인스턴스 / 타입 프로퍼티
  • 값 타입
struct StructName {
	/* 구현부 */
}

2. Property / Method 구현

struct SampleStruct {
	// 가변 프로퍼티
    var mutableProperty: Int = 100
    
    // 불변 프로퍼티
    let immutableProperty: Int = 100
    
    // 타입 프로퍼티
    static var typeProperty: Int = 100
    
    // 인스턴스 메서드
    func instanceMethod() {
    	print("instance")
    }
    
    // 타입 메서드
    func typeMethod(){
    	prict("type")
    }
}
  • 구조체 사용
// 가변 인스턴스 생성
var mutable: SampleStuct = SampleStruct()

// 가변 프로퍼티임으로 수정가능
mutable.mutableProperty = 200

// 불변 프로펕티는 인스턴스 생성 후 수정 불가
mutable.immutableProperty = 200 // 컴퍼일 오류 발생

// 불견 인스턴스 생성
let immutable: SampleStruct = SampleStruct()

// 불변 인스턴스는 가변 프로퍼티라도 수정 불가
immutabl.immutableProperty = 200 // 컴퍼일 오류 발생

// 타입 프로퍼티 및 메서드
SampleStruct.typeProperty = 300
SampleStruct.typeMethod() // "type"

// 인스턴스에서는 타입 프로퍼티나 타입 메서드를 사용불가
mutable.typeProperty = 400 // 컴파일 오류
mutable.typeMethod() // 컴파일 오류
profile
Wooyo의 개발 블로그

0개의 댓글