ABOUT ME

First, think. Second, believe. Thrid, dream. And finally, Dare.

Today
Yesterday
Total
  • [Swift] 구조체(struct)와 클래스(class)
    iOS/Swift 2022. 8. 2. 20:44

    구조체와 클래스의 사용 목적

    - 데이터를 용도에 맞게 묶어서 표현하고자 할 때

    - 새로운 사용자 정의 데이터 타입을 만들어 주는 것

     

    구조체 클래스
    값 타입 참조 타입
    인스턴스를 let으로 선언 시 내부 프로퍼티 값 변경X 인스턴스를 let으로 선언 시 내부 프로퍼티 값 변경O
    상속 불가 상속 가능
    타입 캐스팅 불가 타입 캐스팅 가능
    디이니셜라이저X 디이니셜라이저O (메모리 소멸)
    기본적으로 저장 프로퍼티를 매개변수로 갖는 이니셜라이저O 프로퍼티 기본값을 지정하지 않으면 이니셜라이저 따로 정의 /
    사용자 정의 이니셜라이저 호출

     

    구조체 예시

    // 구조체 정의
    struct BasicInformation {
        var name: String
        var age: Int
    }
    
    // 구조체 인스턴스 생성 및 사용
    var yeonsuInfo: BasicInformation = BasicInformation(name: "yeonsu", age: 24)
    yeonsuInfo.age = 100
    yeonsuInfo.name = "Bonny"

     

    클래스 예시

    // 클래스 정의
    class Diet {
        var height: Float = 0.0
        var weight: Float = 0.0
    }
    
    // 클래스 인스턴스 생성 및 사용
    var yeonsu: Diet = Diet()
    yeonsu.height = 166.8

     

    'iOS > Swift' 카테고리의 다른 글

    [Swift] 인스턴스(instance)  (0) 2022.08.03
    [Swift] 프로퍼티(property)  (0) 2022.08.02
    [Swift] 옵셔널(Optional)  (0) 2022.07.26
    [Swift] 조건문(Conditional), 반복문(Loop)  (0) 2022.07.26
    [Swift] 함수(Func) - 고급  (0) 2022.07.25
Designed by Tistory.