참조(Reference) 타입
인스턴스 할당시 해당 인스턴스에 대한 참조 생성. 참조 타입은 메모리 주소를 통해 값을 공유하기 때문에, 여러 변수 또는 상수가 동일한 인스턴스를 참조할 수 있음.
힙(Heap)영역에 저장
힙은 메모리의 영역 중 하나로, 동적으로 할당되는 영역. 힙 영역은 메모리의 낮은 주소에서 높은 주소로 할당되며, 상대적으로 큰 크기의 메모리 공간을 사용함.
클래스 인스턴스의 크기는 런타임에 결정되고, 인스턴스가 생성될 때 힙 영역에서 동적으로 메모리가 할당됨.
상속(Inheritance) 가능
클래스는 다른 클래스로부터 상속을 받을 수 있음. 상속을 통해 부모 클래스의 특성과 동작을 자식 클래스가 물려받을 수 있고, 이로 인해 코드의 재사용성과 확장성을 높일 수 있음.
다형성(Polymorphism)
하나의 인터페이스를 여러 가지 방식으로 구현할 수 있는 것을 의미. 동일한 메서드를 서로 다른 클래스에서 다르게 구현할 수 있으며, 코드의 유연성과 확장성 제공.
인스턴스 메서드(Instance Methods)와 타입 메서드(Type Methods)
클래스는 인스턴스 메서드와 타입 메서드를 가질 수 있음. 인스턴스 메서드는 인스턴스의 속성에 접근하고, 해당 인스턴스의 동작을 수행 가능. 타입 메서드는 클래스 자체와 관련된 동작 수행시 사용되며, 특정 인스턴스에 속하지 않음.
속성(Properties)
클래스는 저장 속성(Stored Properties)과 계산 속성(Computed Properties)을 가질 수 있음.
저장 속성은 값을 저장하고, 계산 속성은 특정 연산을 통해 값을 계산. 또한 클래스는 속성 감시자(Property Observers)를 통해 속성의 변경을 감시하고 대응 가능.
초기화(Initialization)
클래스는 초기화 과정을 통해 인스턴스 설정이 가능하며, 초기화는 인스턴스가 사용되기 전에 필요한 설정 작업 수행시 사용됨.
소멸자(Deinitialization)
클래스는 소멸자를 가질 수 있음. 소멸자는 클래스의 인스턴스가 메모리에서 해제되기 전에 호출되는 특별한 메서드로, 클래스의 인스턴스가 더 이상 필요치 않아 인스턴스가 해제될 때 자동으로 호출됨.
소멸자는 인스턴스의 소멸 직전에 호출되고, 클래스에는 하나의 소멸자만 가질 수 있음.