[영진전문대 컴퓨터정보계열] 자바 입문-05 [객체와 추상화, 인스턴스,객체지향의 의미]
객체란?( Object )
'객체지향'이라는 말을 많이 들어봤을 겁니다. 자바가 객체지향 프로그래밍 언어라는 말도 많이 들어봤을 겁니다. C 언어는 절차중심 언어라고들 하죠?
객체지향이라는 용어의 이해를 위해 단어를 풀어헤쳐 봅시다. 객체란 세상에 존재하는 모든 것 입니다. 세상의 모든 것은 그 자신만의 특성과 데이터를 가지고 있습니다. 가령 빵집에서 만든 같은 종류의 소보루 빵 2개를 생각해 봅시다. 둘 다 같은 소보루 빵이기에 공통된 특성 이라는 것이 있을 겁니다. 윗 부분이 거칠고, 속이 부드럽고, 달콤한 냄새가 나고 ... 묘사를 하면 무한히 많은 특성을 표현할 수 있습니다. 하지만 이 두 소보루가 과연 완전히 같은 것일까요? 아닙니다. 미세하게도 차이가 분명 존재합니다. 모양이 살짝 다르다든지, 크기가 다르다든지 말이죠. 그리고 그러한 차이 또한 수없이 많이 존재합니다. 이렇게 따진다고 했을 때, 세상에 모든 것들은 설사 같은 종류라고 하더라도, 절대 동일한 개체는 존재할 수 없습니다.
붕어라는 실세계의 객체를 생각해 봅시다. 요 붕어에는 수많은 특성이 있겠죠?
- 눈이 똥그랗다
- 몸이 비늘모양으로 덮여있다.
- 지느러미와 꼬리가 있다.
- 크기는 어느정도이다.
- 속이 차 있다.
등등등
실세계에 존재하는 어떠한 객체를 컴퓨터상에서 표현을 하려 해 봅시다. 그 객체는 수없이 많은 데이터(특성)를 가지고 있을 겁니다. 그 데이터 중에서 표현하려는 대표적인 특성을 간추려 구성하는 행위를 '추상화 작업'이라고 합니다.
우리는 이렇게 추상화한 붕어의 대표적인 특성을 가진 객체를 만들어 내기 위해 프로그래밍 언어를 통해 소스코드를 만듭니다. 이 소스코드는 붕어빵 기계에 비유할 수 있겠습니다.

이 소스코드로는 붕어의 추상화시킨 대표적인 특성들을 가진 붕어빵을 원하는 만큼 말이죠.
눈이 똥그랗고 비늘모양으로 덮인 몸에, 지느러미와 꼬리를 가진, 속이 찬 붕어빵. 이 붕어빵들 각각은 또한 각각 객체라고 할 수 있습니다. 물론 같아 보여도 각기 다른 객체들입니다. 소스코드(붕어빵기계)를 통해 만든 붕어빵(객체)들을 인스턴스라고 부릅니다.
이렇게 실세계의 특정 개체를 컴퓨터상에서 표현하기 위해서 추상화작업을 거치고 인스턴스를 생성해내는 것. 이러한 것이 객체 지향의 시작이라고 할 수 있겠습니다.
'객체지향'이라는 말을 많이 들어봤을 겁니다. 자바가 객체지향 프로그래밍 언어라는 말도 많이 들어봤을 겁니다. C 언어는 절차중심 언어라고들 하죠?
객체지향이라는 용어의 이해를 위해 단어를 풀어헤쳐 봅시다. 객체란 세상에 존재하는 모든 것 입니다. 세상의 모든 것은 그 자신만의 특성과 데이터를 가지고 있습니다. 가령 빵집에서 만든 같은 종류의 소보루 빵 2개를 생각해 봅시다. 둘 다 같은 소보루 빵이기에 공통된 특성 이라는 것이 있을 겁니다. 윗 부분이 거칠고, 속이 부드럽고, 달콤한 냄새가 나고 ... 묘사를 하면 무한히 많은 특성을 표현할 수 있습니다. 하지만 이 두 소보루가 과연 완전히 같은 것일까요? 아닙니다. 미세하게도 차이가 분명 존재합니다. 모양이 살짝 다르다든지, 크기가 다르다든지 말이죠. 그리고 그러한 차이 또한 수없이 많이 존재합니다. 이렇게 따진다고 했을 때, 세상에 모든 것들은 설사 같은 종류라고 하더라도, 절대 동일한 개체는 존재할 수 없습니다.
붕어라는 실세계의 객체를 생각해 봅시다. 요 붕어에는 수많은 특성이 있겠죠?
- 눈이 똥그랗다
- 몸이 비늘모양으로 덮여있다.
- 지느러미와 꼬리가 있다.
- 크기는 어느정도이다.
- 속이 차 있다.
등등등
실세계에 존재하는 어떠한 객체를 컴퓨터상에서 표현을 하려 해 봅시다. 그 객체는 수없이 많은 데이터(특성)를 가지고 있을 겁니다. 그 데이터 중에서 표현하려는 대표적인 특성을 간추려 구성하는 행위를 '추상화 작업'이라고 합니다.
우리는 이렇게 추상화한 붕어의 대표적인 특성을 가진 객체를 만들어 내기 위해 프로그래밍 언어를 통해 소스코드를 만듭니다. 이 소스코드는 붕어빵 기계에 비유할 수 있겠습니다.

이 소스코드로는 붕어의 추상화시킨 대표적인 특성들을 가진 붕어빵을 원하는 만큼 말이죠.
눈이 똥그랗고 비늘모양으로 덮인 몸에, 지느러미와 꼬리를 가진, 속이 찬 붕어빵. 이 붕어빵들 각각은 또한 각각 객체라고 할 수 있습니다. 물론 같아 보여도 각기 다른 객체들입니다. 소스코드(붕어빵기계)를 통해 만든 붕어빵(객체)들을 인스턴스라고 부릅니다.
이렇게 실세계의 특정 개체를 컴퓨터상에서 표현하기 위해서 추상화작업을 거치고 인스턴스를 생성해내는 것. 이러한 것이 객체 지향의 시작이라고 할 수 있겠습니다.
댓글
댓글 쓰기