Swift의 클래스(Class)

June·2023년 6월 9일
0

Swift

목록 보기
16/18
post-thumbnail

클래스(Class)

  • 참조(Reference) 타입
    인스턴스 할당시 해당 인스턴스에 대한 참조 생성. 참조 타입은 메모리 주소를 통해 값을 공유하기 때문에, 여러 변수 또는 상수가 동일한 인스턴스를 참조할 수 있음.

  • 힙(Heap)영역에 저장
    힙은 메모리의 영역 중 하나로, 동적으로 할당되는 영역. 힙 영역은 메모리의 낮은 주소에서 높은 주소로 할당되며, 상대적으로 큰 크기의 메모리 공간을 사용함.
    클래스 인스턴스의 크기는 런타임에 결정되고, 인스턴스가 생성될 때 힙 영역에서 동적으로 메모리가 할당됨.

  • 상속(Inheritance) 가능
    클래스는 다른 클래스로부터 상속을 받을 수 있음. 상속을 통해 부모 클래스의 특성과 동작을 자식 클래스가 물려받을 수 있고, 이로 인해 코드의 재사용성과 확장성을 높일 수 있음.

  • 다형성(Polymorphism)
    하나의 인터페이스를 여러 가지 방식으로 구현할 수 있는 것을 의미. 동일한 메서드를 서로 다른 클래스에서 다르게 구현할 수 있으며, 코드의 유연성과 확장성 제공.

  • 인스턴스 메서드(Instance Methods)와 타입 메서드(Type Methods)
    클래스는 인스턴스 메서드와 타입 메서드를 가질 수 있음. 인스턴스 메서드는 인스턴스의 속성에 접근하고, 해당 인스턴스의 동작을 수행 가능. 타입 메서드는 클래스 자체와 관련된 동작 수행시 사용되며, 특정 인스턴스에 속하지 않음.

  • 속성(Properties)
    클래스는 저장 속성(Stored Properties)과 계산 속성(Computed Properties)을 가질 수 있음.
    저장 속성은 값을 저장하고, 계산 속성은 특정 연산을 통해 값을 계산. 또한 클래스는 속성 감시자(Property Observers)를 통해 속성의 변경을 감시하고 대응 가능.

  • 초기화(Initialization)
    클래스는 초기화 과정을 통해 인스턴스 설정이 가능하며, 초기화는 인스턴스가 사용되기 전에 필요한 설정 작업 수행시 사용됨.

  • 소멸자(Deinitialization)
    클래스는 소멸자를 가질 수 있음. 소멸자는 클래스의 인스턴스가 메모리에서 해제되기 전에 호출되는 특별한 메서드로, 클래스의 인스턴스가 더 이상 필요치 않아 인스턴스가 해제될 때 자동으로 호출됨.
    소멸자는 인스턴스의 소멸 직전에 호출되고, 클래스에는 하나의 소멸자만 가질 수 있음.



profile
안다고 착각하지 말기

0개의 댓글