인스턴스(Instance)란?

June·2023년 6월 9일
0

Swift

목록 보기
18/18
post-thumbnail

인스턴스(Instance)

객체 지향 프로그래밍에서 클래스(Class)또는 구조체(Struct)를 기반으로 생성된 실제 데이터

  • 클래스와 구조체
    설계도와 같은 역할.
    쉽게 말하면, 붕어빵을 찍어내는데 필요한 '붕어빵 틀'.

  • 인스턴스
    이런 설계도를 바탕으로 실제로 메모리에 할당된 데이터.
    즉 붕어빵 틀로 찍어낸 '진짜 붕어빵'.



// 클래스
class Person {
    var name: String
    var age: Int

    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
}

// 인스턴스
let person1 = Person(name: "John", age: 25)
let person2 = Person(name: "Jane", age: 30)
  1. 위 코드에서 Person은 클래스
  2. name과 age는 속성(프로퍼티)
  3. init은 초기화 메서드, 인스턴스 생성시 호출되어 속성값을 초기화하는 역할
  4. person1과 person2는 클래스의 인스턴스
    클래스라는 '설계도(붕어빵 틀)'를 기반으로 '실제 데이터를 담고 있는 메모리 공간(붕어빵 틀로 찍어낸 진짜 붕어빵)'

즉, 인스턴스는 클래스나 구조체를 실제로 사용하고 데이터를 다루기 위한 독립적인 개체.
이를 통해 여러 개의 인스턴스를 생성해 서로 다른 상태를 가지고 있는 객체를 만들 수 있고, 객체 지향 프로그래밍의 특징인 캡슐화, 상속, 다형성 등을 구현 가능.



profile
안다고 착각하지 말기

0개의 댓글