Menu
Coddy logo textTech

반환값

Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 50번째.

지금까지 우리의 메서드들은 출력을 프린트하는 것과 같은 동작을 수행해 왔습니다. 하지만 메서드는 자신을 호출한 코드로 데이터를 다시 보낼 수 있을 때 진정으로 강력해집니다. 이것이 바로 반환값(return values)이 존재하는 이유입니다.

Ruby에서 메서드는 마지막 표현식의 값을 자동으로 반환합니다:

def add(a, b)
  a + b
end

result = add(5, 3)
puts result  # 출력: 8

메서드 내부에 puts가 없다는 점에 유의하세요. 대신, 메서드는 a + b를 계산하고 그 값을 반환합니다. 그런 다음 이를 변수에 저장하거나 직접 사용할 수 있습니다.

또한 return 키워드를 명시적으로 사용할 수 있습니다:

def multiply(a, b)
  return a * b
end

puts multiply(4, 5)  # 출력: 20

return 키워드는 즉시 메서드를 종료하고 지정된 값을 반환합니다. 이는 조건에 따라 조기에 종료하고 싶을 때 유용합니다. 두 방식 모두 작동하지만, 루비 프로그래머들은 더 깔끔한 코드를 위해 종종 암시적 반환(implicit returns)에 의존합니다.

반환 값(Return values)을 사용하면 연산을 체이닝하고 단순한 메서드들로부터 복잡한 로직을 구축할 수 있습니다:

def double(n)
  n * 2
end

puts double(double(3))  # 출력: 12
challenge icon

챌린지

쉬움

하나의 매개변수 n을 받아 그 수의 제곱(자기 자신을 곱한 값)을 반환하는 square라는 이름의 메서드를 정의하세요.

입력으로부터 두 개의 정수를 읽으세요. square 메서드를 사용하여 각 숫자의 제곱을 계산한 다음, 두 제곱의 합을 출력하세요.

예를 들어, 입력값이 34인 경우:

  • 3의 제곱은 9
  • 4의 제곱은 16
  • 합계는 25

출력은 다음과 같아야 합니다:

25

입력값이 52인 경우, 출력은 다음과 같아야 합니다:

29

치트 시트

메서드는 자신을 호출한 코드로 값을 반환할 수 있습니다. Ruby에서 메서드는 마지막 표현식의 값을 자동으로 반환합니다:

def add(a, b)
  a + b
end

result = add(5, 3)
puts result  # 출력: 8

또한 return 키워드를 명시적으로 사용하여 메서드를 종료하고 값을 반환할 수 있습니다:

def multiply(a, b)
  return a * b
end

puts multiply(4, 5)  # 출력: 20

반환 값을 사용하면 메서드 호출을 체이닝(chain)할 수 있습니다:

def double(n)
  n * 2
end

puts double(double(3))  # 출력: 12

직접 해보기

# 입력으로부터 두 개의 정수를 읽습니다
num1 = gets.chomp.to_i
num2 = gets.chomp.to_i

# TODO: 아래에 square 메서드를 정의하세요


# TODO: square 메서드를 사용하여 제곱의 합을 계산하고 결과를 출력하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨