Class, Object, Instance의 차이

sean k·2023년 1월 1일
0

개념정리

목록 보기
2/7

클래스(Class): 객체(Object)를 만들기 위한 일종의 설계도
객체(Object): 클래스(Class)를 통해 생성된 실체를 포함하는 범용적인 개념
인스턴스(Instance): 클래스(Class)를 통해 생성된 실제 객체(Object)

클래스는 객체가 가져야 할 속성(Property)과 메서드(Method)를 정의합니다. 클래스는 객체를 만들기 위한 틀을 제공하며, 이 틀을 이용하여 여러 객체를 만들 수 있습니다.
예를 들어, '사람'이라는 개념을 클래스로 표현한다면, 클래스는 사람이 가져야 할 속성과 메서드를 정의합니다. 속성으로는 이름, 나이, 성별 등이 있을 수 있으며, 메서드로는 먹다, 자다, 걷다 등이 있을 수 있습니다.

객체는 클래스에서 정의한 속성과 동작을 가지고 있는 구체적인 사례입니다. 즉, 객체는 클래스에서 정의된 속성과 동작을 실제로 구현한 것으로 클래스의 인스턴스라고도 부릅니다. 속성과 메서드를 갖는 독립적인 개체로 변수에 저장될 수 있으며, 다른 객체나 함수의 인수로 전달될 수 있습니다.
위의 예시에서 '사람'이라는 클래스를 이용하여 '숀'이라는 객체를 만든다면, 숀은 '사람' 클래스에서 정의한 속성과 메서드를 가지고 있습니다. 자신의 이름, 나이, 성별 등의 속성과 먹다, 자다, 걷다 등의 메서드를 갖고 있을 것입니다.

클래스를 이용하여 만든 객체를 인스턴스라고 합니다. 즉, 클래스에서 정의한 속성과 메서드를 가진 객체를 인스턴스라고 합니다. 인스턴스는 클래스로부터 생성되며, 하나의 클래스로부터 여러 개의 인스턴스를 만들 수 있습니다.
'숀'은 '사람' 클래스의 인스턴스로 '사람' 클래스에서 정의한 속성과 메서드를 가진 사람 객체 중 하나입니다

객체(Object) vs 인스턴스(Instance)

객체(Object)와 인스턴스(Instance)는 객체지향 프로그래밍(OOP)에서 사용되는 용어입니다. 둘 다 비슷한 개념으로 사용되기도 하지만, 조금씩 다른 의미를 가지고 있습니다.
객체는 클래스와의 관계를 강조하며, 인스턴스는 클래스에서 생성된 실제 객체를 참조하는 변수를 말합니다.
OOP 관점에서는 클래스를 통해 선언되었을 때 객체라고 부르고, 메모리에 객체를 할당해서 실제 사용할 때 인스턴스라고 부릅니다.

0개의 댓글