본문 바로가기

자주 쓰는 기능에 이름을 붙이다 | 정보처리의 흐름 FLOW 04 | K-BOOKS

FLOW 04 · INFORMATION PROCESSING
DIRECTION 04 · 정보를 찾아가는 방향 · C · Java · Python · OOP

자주 쓰는 기능에 이름을 붙이다

C · Java · Python · OOP

QUESTION · 질문에서 시작합니다

예약 가능 여부를 확인하는 코드가 여러 화면에서 반복되기 시작했다.

“같은 코드를 계속 복사해야 할까?”

반복되는 기능을 하나의 독립된 단위로 만들면 필요할 때마다 불러 사용할 수 있다.

함수로 묶는 기준은 ‘코드가 길다’보다 ‘하나의 역할을 반복해서 수행한다’에 가깝다. 예약 가능 여부 확인, 금액 계산, 로그인 확인처럼 이름을 붙일 수 있는 일을 독립된 함수로 만들면 프로그램의 구조가 훨씬 읽기 쉬워진다.

좋은 함수는 입력으로 무엇을 받고, 안에서 무엇을 처리하며, 결과로 무엇을 돌려주는지가 분명하다. 이 세 가지를 먼저 적으면 함수 호출 문제도 자연스럽게 추적할 수 있다.

함수를 잘게 나누면 중복 제거뿐 아니라 테스트도 쉬워진다. 예약 가능 여부를 확인하는 함수가 독립되어 있다면 여러 화면을 실행하지 않고도 그 함수에 다양한 입력을 넣어 결과를 확인할 수 있다.

기능을 함수로 묶는다

int add(int a, int b) { return a + b; }

두 값을 받아 더한 결과를 돌려주는 함수다.

int result = add(3, 5);

함수를 호출하면 전달한 값이 매개변수로 들어가고, 함수가 실행된 뒤 결과가 돌아온다.

기술 이름 특정 작업을 수행하도록 독립적으로 묶은 코드 단위를 함수(Function)라고 한다.

값을 복사해서 줄 것인가, 원본을 가리킬 것인가

함수에 값을 전달할 때는 복사된 값을 전달하는 방법과 실제 원본 위치를 가리키게 하는 방법을 구분해서 이해해야 한다.

복사된 값 수정 → 원본은 그대로
원본 위치를 통해 수정 → 원본 값도 바뀔 수 있음

이 차이를 이해하면 뒤에서 만날 포인터와 참조 개념도 자연스럽게 연결된다.

다음 비밀 변수의 값이 아니라 그 값이 저장된 위치 자체를 다룰 수 있을까?
더 찾아보고 싶다면846면 학습 아카이브에서 검색하세요.
K-BOOKS Q&A이 내용이 헷갈리나요?

공부하던 페이지를 자동으로 연결해 질문할 수 있습니다.

RELATED STUDY MATERIALS

이 개념과 이어서 볼 정보처리 자료

학습자료실 65개 →

CONTINUE · INFORMATION PROCESSING ENGINEERC에서 시험 학습으로 이어가기
이야기형 개념 설명은 그대로 두고, 필요한 시험 요약·문제·실습으로 연결합니다.