이 세상은 여러 가지 사물들로 구성되어 있습니다. 예를 들자면, 사람, 가구, 집, 컴퓨터, 신발, 문, 개, 꽃 등등... 이런것들이 하나하나 모여서 지금 우리가 살고 있는 세상을 이루죠. 프로그래머가 작성하는 프로그램의 궁극적인 목적이라면 실제 이러한 동물이나, 사람, 어떤 도구처럼 프로그램이 사실적이고 효율적으로 작동하는 것이라고 할 수 있습니다.
이것을 구현 해내기 위해서 나온 프로그래밍 개념중의 하나가 객체지향개념이며 이것이 현재 프로그래밍의 주요 개념으로 자리잡았습니다. 자바는 완벽한 객체지향적 언어입니다. 자바는 클래스로 이루어져 있구요, 이 클래스들을 이용하여 객체지향적으로 프로그래밍을 할 수 있습니다.
클래스라는 것 역시 자료들을 한데 모으는 기술이기 때문에 자료구조의 하나라고 볼 수 있습니다. 이번 강좌는 이 클래스에 대한 이해와 이를 자바에서 다루는 방법에 대해서 말해보겠습니다.
참고서적 : Data Structures & Other Objects Using JAVA전통적으로 프로그램은 자료구조와 알고리즘의 결합이라고 알려져 왔습니다. 이런 것이 객체지향과 반대되는 절차지향이며, C언어에서 쓰는 개념입니다. 하지만 객체지향에서는 객체와 객체의 결합을 프로그램이라 말합니다. 오브젝트는 절차지향에서의 프로그램과 비슷한 의미로 해석하시면 편할 듯 싶네요. 이런식으로 여러개의 객체들로 하나의 프로그램을 짜나가는 것을 객체지향이라고 합니다.
객체란 말그대로 이세상에 현존하는 것들입니다. 위에서 말한 듯이 사람, 자동차, 문등을 객체라고 할 수 있죠.
[그림1] 객체를 이루는 요소
[그림2] 원 객체
[그림3] 프로그래밍에서의 객체 표현
그리고 객체의 특징으로는 Encapsulation(캡슐화), Information Hiding(정보은닉), 이 두가지가 있습니다. 캡슐화란 위의 그림 03 처럼 data와 함수를 하나의 틀 안에 넣는다는 것都求? 정보은닉은 캡슐화된 객체에서 data들을 사용자가 원한다면 남이 알지 못하도록 숨길 수 있다는 것을 의미합니다. 뒤에서 나오는 클래스의 이점에서 자세히 다루도록 하겠습니다.
'Programming > JAVA' 카테고리의 다른 글
[EKOO의 JAVA를 이용한 자료구조:4회] Linked List 구.. (0) | 2006.03.23 |
---|---|
[EKOO의 JAVA를 이용한 자료구조:1회] Introduce JAV.. (0) | 2006.03.23 |
[EKOO의 JAVA를 이용한 자료구조:1회] Introduce JAVA .. (0) | 2006.03.23 |
[EKOO의 JAVA를 이용한 자료구조:7회] Tree (3) (0) | 2006.03.23 |
[EKOO의 JAVA를 이용한 자료구조:7회] Tree (4) (0) | 2006.03.23 |