Page 196 고등학교 프로그래밍 교과서
P. 196
(2) 객체 지향 설계
캡슐화와 클래스 구조적 설계 방법을 따르는 절차적 프로그래밍에서는 프로그램을 기능별로 모듈
움직이는 자동차를 프로그램에서
표현하려면 자동차 객체를 생성해 화하여 구조화한다. 이 과정에서 자료와 자료를 처리하는 기능은 별도로 분리된다.
야 한다. 이때 자동차의 종류, 색상, 이러한 방식은 프로그램의 규모가 크고 복잡해질수록 개발 비용과 시간이 많이 소요
속도 등에 해당하는 속성은 멤버 변
수로 자동차의 출발, 정지, 회전 등 되고 유지 보수 비용도 많이 들어 생산성과 신뢰성이 떨어지는 문제점이 있다.
에 해당하는 기능은 메서드라고 하
는 함수로 표현한다. 이렇게 만든 멤 객체 지향 설계는 현실에 존재하는 사물(객체)을 객체의 속성과 기능으로 추상화한
버 변수와 메서드를 하나의 껍질로
포장을 하는데 이를 캡슐화라고 하 후 하나의 덩어리인 캡슐로 취급한다. 이러한 캡슐들을 조립하여 원하는 목적을 구
며, 캡슐의 내부 설계도를 클래스라
고 부른다. 즉, 클래스는 객체의 설 현하는 방식이 객체 지향 설계의 기본 개념이다.
계도이다.
① 객체 추상화
정보 은닉
객체(objects)란 현실에 존재하는 사물을 지칭하는 말로, 이를 프로그래밍 과정에
캡슐화된 객체의 멤버 변수는 외부
에서 직접적으로 접근하지 못하도 서 표현하면 객체의 주된 특징만을 요약하여 표현하는데 이를 추상화라고 한다. 예를
록 감추어지며 이를 정보 은닉이라
고 한다. 은닉된 멤버 변수는 메시지 들어, 상자 안에서 공이 움직이는 프로그램을 개발하고자 한다면 공의 크기, 색깔, 위
전달을 통해 접근할 수 있으며, 정보
은닉을 통해 프로그램의 안정성은 치, 움직임 등을 추려낼 수 있는데 이를 객체의 추상화라고 한다.
향상된다.
추상화된 객체는 속성을 표현하는 변수와 기능을 표현하는 함수로 구현하며 이를
객체 지향 언어에서는 멤버 변수와 메서드라고 부른다. 이처럼 객체를 추상화하여 멤
접근 제어자
멤버 변수의 접근을 제어하기 위한 버 변수와 메서드로 표현한 프레임(틀)을 클래스(Class)라고 부르며 이것은 객체 지
명령어로 private, public이 대표적
이다. 향 프로그래밍의 기본 구성 요소가 된다.
[그림 Ⅲ-6]는 공의 속성(색상, 크기, 위치)과 기능(움직인다, 정지한다)을 클래스
로 구현한 예이다.
class Ball {
private int color;
접근 제어자
private int size;
private int x, y; 멤버 변수 선언
Ball(int c, int s, int x1, int x2) {
color=c; 생성자
size=s; (클래스의
공 x=x1; y=y1; 초기화)
}
.....
[속성] public playBall( ) { ...... }
기능(메서드)
색상, 크기, 위치 public stopBall( ) { ...... }
[기능]
....
움직인다, 정지한다
[그림Ⅲ- 6] 객체의 추상화와 클래스 생성
194 Ⅲ. 프로그래밍 설계와 구현
(책)2015프로그래밍-교과서3차심의본 본문.indb 194 2017-09-05 오후 4:16:46