7강. 객체지향 프로그램의 본질 메소드 프로그래밍의 한계 객체의 개념 및 클래스의 이해 객체지향 프로그래밍에서 데이터 처리 방법 객체자료형과 변수와의 관계 객체자료형과 데이터와의 관계 Lecturer Kim Myoung-Ho Nickname 블스 blogstudy@naver.com
7-1. 메소드 프로그래밍의 한계 메소드 프로그래밍의 한계 메소드를 이용하면 로직의 재사용이 가능하여 개발을 효율적으로 할 수 있었습니다. 하지만, 메소드만 가지고는 많은 양의 로직을 처리하기에는 한계가 있습니다. 한 문서 내에 메소드의 수가 많아질 경우 추후 유지 보수에 많은 어려움이 발생됩니다.
데이터 로직 돈이 있다. 어려운 사람을 돕다. 7-2. 객체의 개념 및 클래스의 이해 객체의 개념 먼저 시간에 객체의 의미에 대해서 간단하게 살펴 보았습니다. 다시 한번 살펴보면 객체는 같은 종류의 데이터와 로직이 함께 있는 구성체 입니다. 그리고 현실세계와 비교해 보면 세상의 모든 것이 객체 입니다. 예를 들어 자동차 라는 객체가 있습니다. 자동차에는 운전대라는 메소드와 브레이크, 기어 라는 메소드가 있습니다. 그리고 색상, 배기량 등의 데이터가 있습니다. 자동차를 운전하는 사람은 운전대를 오른쪽, 왼쪽으로 돌려가며 운전하고, 브레이크를 밟아 정지하고, 기어를 작동하여 앞,뒤로 운전 합니다. 또한 색상과 배기량을 가지고 다른 자동차와 구분하기도 합니다. 이처럼 객체는 메소드와 비슷하지만 그 상위개념이라고 할 수 있습니다. 즉 완전한 독립체라고 할 수 있습니다. 객체는 클래스로부터 생산(복사본)됩니다. 예를 들어 그랜저 자동차가 공장에서 생산됩니다. 이때 색상이 정해지지 않은 자동차를 만들어 놓고, 소비자의 요구에 따라서 색상을 칠합니다. 즉 색을 칠하기 전의 자동차가 클래스이며, 소비자(개발자)의 요구에 따라서 색을 칠해서 완전한 자동차(객체)가 만들어 집니다. 데이터 로직 돈이 있다. 어려운 사람을 돕다. 프로그램의 객체 현실 세계의 객체(돈이 많고, 착한 사람)
7-3. 객체지향 프로그래밍에서 데이터 처리 방법 데이터 처리 방법 그랜저 자동차 얘기를 계속 하겠습니다. 색상이 결정 되지 않은 자동차를 클래스라고 한다고 했습니다. 그리고 구매자가 색상을 결정하여 계약을 하면, 그때 클래스로 부터 객체가 생성 됩니다. 그리고 생성된 객체는 계약을 한 소비자의 것 입니다. 또 다른 소비자가 다른 색상으로 계약을 하면 또 하나의 객체가 생성됩니다. 그림으로 살펴보면 쉽게 이해 될 수 있습니다. 객체 생성(클래스 복사) 색상이 결정된 자동차 : 객체1 객체 생성(클래스 복사) 색상이 결정된 자동차 : 객체2 색상이 결정되지 않은 자동차 : 클래스 객체 생성(클래스 복사) 색상이 결정된 자동차 : 객체3
10 7-4. 객체자료형과 변수와의 관계 기초자료형 객체자료형 변수(기초데이타)와 객체의 메모리 구조 기초 데이터 변수는 메모리상에 무엇이든지 담을 수 있는 주머니를 만들어 놓고 주머니에 값을 직접 넣는다고 배웠습니다. 그럼 객체자료형은 메모리상에 어떻게 존재 하는지 알아 보도록 하겠습니다. className1의 메모리 주소값 10 className1 객체변수 ClassName className1 = new ClassName(); className1의 메모리 주소값 className2 변수 Int i = 10; 객체변수 ClassName className2 = new ClassName(); 기초자료형 객체자료형
Object1 Class1 Object2 7-5. 객체자료형과 데이터와의 관계 int i int i 객체안의 데이타 객체는 클래스로 부터 생성됩니다. 그리고, 생성된 객체는 동일한 클래스에서 생성되었다 하더라고 이제는 완전한 독립체 입니다. 따라서 객체 안에 종속되어 있는 데이터는 완전히 별개의 데이터입니다. Object1 Int i int i Class1 Int i Object2 Int i int i