TIL (Today I Learned) - Swift 구조체(Struct)

jeongmuyamette·2024년 12월 4일

TIL

목록 보기
11/72
post-thumbnail

TIL (Today I Learned) - Swift 구조체(Struct)

구조체란?

  • 관련된 데이터들을 하나의 단위로 묶어서 관리할 수 있는 사용자 정의 데이터 타입
  • 값 타입(Value Type)으로 동작하는 데이터 구조

주요 특징

  1. 값 타입

    struct Point {
        var x: Int
        var y: Int
    }
    // 값이 복사되어 전달됨
  2. 프로퍼티 종류

    • 저장 프로퍼티: 실제 값을 저장
    • 계산 프로퍼티: 값을 계산하여 반환
  3. 메서드 정의 가능

    struct Calculator {
        func add(a: Int, b: Int) -> Int {
            return a + b
        }
    }

구조체 사용 예시

struct Student {
    // 프로퍼티
    var name: String
    var grade: Int
    
    // 메서드
    func introduce() {
        print("\(name)은(는) \(grade)학년입니다.")
    }
}

let student = Student(name: "김철수", grade: 3)

💡 새롭게 알게된 점

  1. 구조체는 값 타입이라 복사되어 전달된다는 점
  2. mutating 키워드로 구조체 내부 값 변경 가능
  3. 클래스와 달리 상속이 불가능하다는 점

🤔 궁금한 점

  • 구조체와 클래스 중 어떤 상황에서 어떤 것을 선택해야 할까?
  • 값 타입과 참조 타입의 메모리 관리 차이점은?

📝 앞으로 더 학습할 내용

  • 구조체의 프로퍼티 옵저버
  • 구조체의 접근 제어
  • 구조체와 프로토콜의 관계

🔍 참고자료

  • Swift 공식 문서
  • The Swift Programming Language Guide

#Swift #Struct #iOS #TIL

0개의 댓글