Page 14 -
P. 14
코 틀 린 함 수 는 기 본 적 으 로 메 서 드 다. 자 바 나 다 른 모 든 현 대 적 언 어 와 마 찬 가 지 다. 메 서 드 라 는 코
드 블 록 에 는 영 역 (s c o p e)이 있 다. 영 역 이 란 말 은 코 드 블 록 안 에 서 볼 수 있 는 정 의 나 선 언 이 프 로
그 램 의 어 떤 범 위 에 속 하 는 지 를 뜻 한 다. 블 록 은 그 자 신 이 둘 러 싸 고 있 는 영 역 을 볼 수 있 을 뿐 만 1 1
아 니 라 자 신 의 바 깥 쪽 영 역 을 볼 수 있 고, 추 이 적 (tr a ns ati v e)으 로 자 신 을 둘 러 싼 영 역 을 감 싸 는 더 프
로
바 깥 쪽 영 역 을 볼 수 있 어 서 최 종 으 로 는 가 장 바 깥 영 역 에 이 르 는 모 든 영 역 을 볼 수 있 다. 함 수 나 그
램
을
메 서 드 가 외 부 영 역 의 상 태 를 바 꾸 는 것( 바 깥 영 역 을 바 꾸 는 것 을 뜻 한 다. 예 를 들 어 메 서 드 가 정 더
안
전
의 된 클 래 스 는 메 서 드 의 바 깥 영 역 이 다) 이 바 로 효 과 다. 하
게
만
일 부 메 서 드( 함 수) 는 값 을 반 환 한 다. 일 부 메 서 드 는 세 계 의 상 태 를 변 경 한 다. 일 부 메 서 드 는 값 을 들
기
반 환 하 는 동 시 에 상 태 를 변 경 하 기 도 한 다. 값 을 반 환 하 는 메 서 드 나 함 수 가 외 부 상 태 를 변 경 하 는
경 우 이 를 부 수 효 과 (si d e eff e ct )라 고 한 다. 부 수 효 과 를 사 용 하 는 프 로 그 램 은 잘 못 된 것 이 다. 의 약
품 과 관 련 해 ‘ 부 작 용’ 이 라 는 말 은 주 된 약 효 외 에 나 타 나 는 부 수 적 인 효 과 를 뜻 하 기 보 다 는 부 정 적
인 효 과 를 뜻 하 는 경 우 가 많 다. 프 로 그 래 밍 에 서 부 수 효 과 는 프 로 그 램 이 반 환 하 는 결 괏 값 에 덧 붙
여 프 로 그 램 밖 에 서 관 찰 할 수 있 는 어 떤 변 화 를 뜻 한 다.
프 로 그 램 이 결 과 를 반 환 하 지 않 는 다 면 관 찰 가 능 한 효 과 를 부 수 효 과 라 고 부 를 수 없 을 것 이 다.
왜 냐 하 면 결 과 를 반 환 하 지 않 는 프 로 그 램 에 서 는 상 태 변 화 가 주 된 효 과 이 기 때 문 이 다. 하 지 만
그 런 경 우 에 도 여 전 히 ( 이 차 적 인) 부 수 효 과 가 있 을 수 있 다. 물 론 이 런 부 수 효 과 는 ‘ 단 일 책 임
(si n gl e r es p o nsi bilit y)’ 원 칙 이 라 는 실 무 지 침 을 위 배 하 는 좋 지 못 한 기 법 이 다.
안 전 한 프 로 그 램 은 인 자 를 받 아 서 값 을 반 환 하 는 여 러 함 수 를 합 성 해 만 들 어 진 다. 그 리 고 그 런 함
수 합 성 이 프 로 그 램 을 이 루 는 전 부 다. 우 리 는 함 수 안 에 서 어 떤 일 이 벌 어 지 는 지 신 경 쓰 지 않 는
다. 왜 냐 하 면 이 론 적 으 로 함 수 안 에 서 는 아 무 런 일 도 벌 어 지 지 않 기 때 문 이 다. 일 부 언 어 는 부 수
효 과 가 없 는 함 수 를 제 공 한 다. 그 런 언 어 로 작 성 된 프 로 그 램 은 반 환 값 외 에 는 아 무 런 효 과 도 관
찰 할 수 없 다. 하 지 만 실 제 로 는 반 환 하 는 값 이 ( 프 로 그 램 을 실 행 할 때 상 태 변 이 를 통 해 발 생 하 는)
효 과 를 계 산 하 고 자 실 행 하 는 새 로 운 프 로 그 램 일 수 도 있 다. 이 런 식 으 로 효 과 를 만 들 어 내 는 프 로
그 램 을 반 환 하 는 기 법 은 언 어 와 무 관 하 게 사 용 할 수 있 지 만, 종 종 비 효 율 적 인 기 법 이 라 고 여 겨 진
다( 이 에 대 해 서 는 논 란 의 여 지 가 있 다). 그 보 다 더 안 전 한 대 안 은 효 과 계 산 때 문 에 일 어 나 는 상 태
변 이 와 프 로 그 램 의 나 머 지 부 분 을 분 리 하 거 나 심 지 어 는 효 과 를 계 산 하 는 부 분 을 최 대 한 추 상 화 하
는 것 이 다. 이 와 관 련 된 여 러 기 법 을 7 , 1 1 , 1 2 장 에 서 살 펴 보 겠 다.
0 3 7