변수들을 모아서 하나의 단위로 관리한 것이 구조체 타입이라면,

변수와 함수가 모인 프로그램 자체를 하나의 단위로 보아 관리하는 것이 클래스라는 자료형인 것.


클래스 변수를 위한 공간을 메모리에 확보하고 초기화까지 수행한 상태가 인스턴스(개체, 個體, instance, thing).

인스턴스A에서 인스턴스B로 메서드 호출을 할 때 인스턴스A를 주체(subject), 인스턴스B를 객체(object)라고 부름.

객체지향 프로그래밍(OOP: Object-oriented Programming)이라는 말은 프로그램의 코드 실행 흐름이 객체(object)의 코드를 따라서 진행되기 때문에 붙여진 이름.

이와 반대되는 주체지향 프로그래밍(SOP)이라는 것도 엄연히 존재한다.