학습
Ruby 함수 정의 및 호출
Ruby 함수 정의 및 호출 — 초급
함수 정의 및 호출
1. 도입 (왜 배워야 하는가)
함수는 프로그래밍의 기본 단위로, 코드의 재사용성과 가독성을 높이는 데 필수적입니다. 실무에서는 코드의 유지보수와 확장성을 위해 함수를 적극적으로 사용합니다. 함수를 정의하고 호출하지 못한다면, 복잡한 코드를 반복 작성해야 하고, 이는 오류를 발생시킬 확률을 높이며, 코드의 품질을 저하시킵니다. 예를 들어, 쇼핑몰 시스템에서 장바구니에 추가, 삭제, 총합 계산 등의 기능을 구현할 때, 각각의 기능을 함수로 구현하면 코드의 재사용과 관리가 용이해집니다.
2. 핵심 개념 설명
함수는 특정 작업을 수행하는 코드의 집합입니다. 함수를 통해 코드의 중복을 줄이고, 명확한 역할을 부여할 수 있습니다.
- 함수 정의: 함수의 이름과 그 함수가 수행할 작업을 정의하는 것.
- 함수 호출: 정의된 함수를 실제로 사용하는 것.
실생활 비유
함수를 요리법에 비유할 수 있습니다. 요리법(함수 정의)은 특정 요리를 만드는 방법을 설명하고, 요리법을 따라 요리를 만드는 것(함수 호출)은 그 요리를 실제로 만드는 과정입니다.
| 용어 | 설명 |
|---|---|
| 정의 | 함수의 이름과 기능을 설정하는 것 |
| 호출 | 정의된 함수를 실행하는 것 |
| 매개변수 | 함수에 전달되는 입력 값 |
| 반환 값 | 함수가 실행된 후 돌려주는 결과 |
3. 기본 코드 예제
아래는 간단한 함수를 정의하고 호출하는 예제입니다.
def greet(name) # 1. greet라는 함수를 정의하고, name이라는 매개변수를 받습니다.
"안녕하세요, #{name}님!" # 2. 입력된 이름을 포함한 인사 메시지를 반환합니다.
end # 3. 함수 정의 종료
puts greet("홍길동") # 4. greet 함수를 호출하고, "홍길동"이라는 이름을 전달합니다.
실행 결과:
안녕하세요, 홍길동님!
greet라는 함수를 정의하고, 매개변수 name을 설정합니다.greet 함수를 호출하고, "홍길동"이라는 값을 매개변수로 전달합니다.4. 실전 활용 예제
예제 1: 장바구니의 총합 계산
쇼핑몰에서 장바구니의 총합을 계산할 때 함수를 사용할 수 있습니다.
def calculate_total(prices) # 1. 가격 배열을 받는 함수를 정의합니다.
total = 0 # 2. 총합을 저장할 변수를 초기화합니다.
prices.each do |price| # 3. 가격 배열을 순회합니다.
total += price # 4. 각 가격을 총합에 더합니다.
end
total # 5. 총합을 반환합니다.
end
puts calculate_total([10000, 20000, 30000]) # 6. 가격 배열을 전달하여 총합을 출력합니다.
실행 결과:
60000
예제 2: 단순 계산기
간단한 계산기를 구현할 수도 있습니다.
def add(a, b) # 1. 두 숫자를 더하는 함수 정의
a + b # 2. 두 숫자의 합을 반환
end
puts add(5, 3) # 3. add 함수를 호출하여 결과를 출력
실행 결과:
8
5. 흔한 실수와 주의사항
실수 1: 잘못된 매개변수 개수
def say_hello(name)
"안녕하세요, #{name}님!"
end
puts say_hello() # 오류 발생: 매개변수가 부족합니다.
올바른 코드
puts say_hello("홍길동") # 올바른 호출
실수 2: 함수의 반환 값을 사용하지 않음
def multiply(a, b)
a * b
end
multiply(2, 3) # 결과를 출력하지 않음
올바른 코드
puts multiply(2, 3) # 결과를 출력하여 확인