명령어나 타입이 아닌 공간으로 이해하면 된다.
데이터를 저장하는 공간적 의미로 생각하면 이해하기 쉽다.

공간의 크기에 따라 작은 공간에서 큰 공간으로 변수 -> 배열 -> 구조체 -> 객체로 확대해서 이해하면 된다.

가령 데이터를 과일로 표현하면?

1. 상자에 사과 하나만 달랑 있으면 변수
2. 상자에 사과가 둘 이상이면 배열 
3. 상자에 사과 뿐만 아니라 배, 복숭아, 멜론도 같이 있으면 구조체
4. 이 과일들을 담은 상자에 어디어디 납품용, 선물용, 증정용, 반품용, 견본용 등의 용도를 써 붙이면 객체
(참고로 자바 같은 경우는 여기서 종이를 붙인 상자를 클래스, 종이에 적힌 용도를 메서드라 부른다.)


즉 이런거다.

1. 변수 : 하나의 데이터를 저장하는 공간
2. 배열 : 같은 종류의 데이터를 두 개 이상 저장하는 공간
3. 구조체 : 같은 목적을 가진 서로 다른 종류의 데이터들을 여러 개 저장
4. 객체 : 구조체 + 함수(한 가지 목적이 아닌 여러 목적에에 쓸 수 있음)



이렇게 설명하니 참 쉽죠?


참고로 C언어를 배운 적이 없는 초보자는 구조체가 뭔지 모를텐데 그럴 때는 객체 = 두 종류 이상의 서로 다른 배열들 해쳐모여!!! 이렇게 이해하면 됨.