"인스턴스(Instance)"는 객체 지향 프로그래밍(OOP)에서 특정 클래스에 속하는 개별 객체를 의미합니다. 클래스는 객체를 생성하기 위한 템플릿이나 청사진 역할을 하며, 인스턴스는 그 클래스를 기반으로 실제로 생성된 객체입니다.
1.클래스와 인스턴스의 관계
클래스는 객체의 구조와 동작을 정의하는 설계도입니다. 예를 들어, 자동차라는 클래스가 있다면, 이 클래스는 자동차의 속성(색상, 모델, 속도 등)과 동작(가속, 제동 등)을 정의합니다.
인스턴스는 이 클래스를 기반으로 생성된 구체적인 객체입니다. 예를 들어, "빨간색 스포츠카"와 "파란색 세단"은 모두 자동차 클래스의 인스턴스입니다.
2.독립적인 상태
같은 클래스로부터 생성된 인스턴스들은 독립적인 상태를 가집니다. 예를 들어, 두 개의 자동차 인스턴스는 각각 다른 속도나 색상을 가질 수 있습니다.
3.메모리 할당
인스턴스가 생성될 때, 해당 객체의 데이터와 메서드가 메모리에 할당됩니다. 이 메모리 공간은 인스턴스마다 독립적이므로, 한 인스턴스의 변경이 다른 인스턴스에 영향을 미치지 않습니다.
4.인스턴스 생성
인스턴스는 클래스의 생성자(constructor)를 호출하여 생성됩니다. 생성자는 인스턴스의 초기 상태를 설정하는 역할을 합니다.
예를 들어, Python에서 Car라는 클래스를 사용해 인스턴스를 생성할 때, my_car = Car("red", "sedan")와 같이 작성합니다. 이때 my_car는 Car 클래스의 인스턴스가 됩니다.