본문 바로가기

개발

Swift 구조체와 클래스 (Structures and Classes)

728x90

Swift 구조체와 클래스 (Structures and Classes)

Swift에서 구조체와 클래스는 데이터를 묶고 기능을 정의하는 데 사용되는 두 가지 기본적인 자료형입니다.

1. 구조체 (Structures)

  • **값 타입 (Value Type)**입니다.
  • 값을 복사하여 저장합니다.
  • 데이터를 효율적으로 처리하는 데 적합합니다.
  • 간단하고 가벼운 데이터 모델링에 적합합니다.
struct Person {

    let name: String

    var age: Int

}



let jimin = Person(name: "지민", age: 30)

var jhope = jimin



jhope.age = 29

print(jimin.age)   // 30 (구조체는 값 복사로 생성되므로 변경되지 않음)

print(jhope.age)    // 29

 

2. 클래스 (Classes)

  • **참조 타입 (Reference Type)**입니다.
  • 값을 참조하여 저장합니다.
  • 복잡한 데이터 모델링과 동작을 구현하는 데 적합합니다.
  • 메모리 관리가 필요합니다.
class Person {

    var name: String

    var age: Int



    init(name: String, age: Int) {

        self.name = name

        self.age = age

    }

}



let jimin = Person(name: "지민", age: 30)

var jhope = jimin



jhope.age = 29

print(jimin.age)   // 29 (클래스는 값 참조로 생성되므로 변경됨)

print(jhope.age)    // 29

 

3. 선택 시 사용

  • 구조체를 사용하는 경우:
    • 값을 복사하고 전달해야 하는 경우
    • 간단하고 가벼운 데이터 모델링이 필요한 경우
    • 성능이 중요한 경우
    클래스를 사용하는 경우:
    • 복잡한 데이터 모델링과 동작이 필요한 경우
    • 인스턴스 간 데이터 공유가 필요한 경우
    • 메모리 관리가 가능한 경우

 

'개발' 카테고리의 다른 글

Swfit 메서드 (Methods)  (0) 2024.07.05
Swift 프로퍼티 (Properties)  (1) 2024.07.05
Swift 열거형 (Enumerations)  (0) 2024.07.05
Swift 클로저 (Closures in Swift)  (0) 2024.07.05
Swift 함수 (Functions)  (0) 2024.07.05