Java
🧱 함수 만들기 (연습 문제)
공돌이 출신 개발자
2025. 4. 25. 15:24
728x90
💬 시작하며
지난 글에서는 **함수(Function)**가 무엇인지,
그리고 함수가 어떻게 동작하는지 설계와 사용 방법을 배웠습니다.
이번 글에서는 배운 내용을 바탕으로
직접 함수를 만들어보는 연습 문제를 풀어볼 거예요.
✔️ 다양한 패턴의 함수(반환값 O/X, 매개변수 O/X)를 연습하면서
✔️ 함수 설계에 조금 더 익숙해지는 것이 목표입니다.
💡 학습 목표
- 다양한 형태의 함수를 직접 설계해본다
- 반환값이 있는 경우, 없는 경우를 구분해본다
- 조건문, 삼항 연산자 등을 함수 설계에 활용해본다
📝 연습 문제 목록
문제 번호 | 함수 이름 | 입력 값 | 출력 값 | 설명 |
1 | greet | 이름(String) | 없음 (콘솔 출력) | 인사말 출력 |
2 | square | 정수 1개 | 입력값의 제곱 (int) | 제곱 계산 |
3 | signOfNumber | 정수 1개 | "positive", "negative", "zero" (String) | 부호 판별 |
4 | checkAdult | 나이(int) | 성인 여부 (boolean) | 나이 확인 (18세 이상 true) |
5 | findMax | 두 개의 정수(int) | 두 수 중 큰 값 (int) | 최대값 찾기 |
1️⃣ 인사말 출력하기
사용자 이름을 받아서 **"안녕하세요, [이름]님!"**을 출력하는 함수입니다.
static void greet(String name) {
System.out.println("안녕하세요 [" + name + "] 님!");
}
✅ 반환값이 없는 함수 (void) → 단순히 출력만 담당!
2️⃣ 제곱 계산하기
정수를 입력받아 그 수의 제곱을 반환하는 함수입니다.
static int square(int n1) {
return n1 * n1;
}
3️⃣ 수의 부호 판별하기
입력된 수가 양수인지, 음수인지, 0인지 판별해서
"positive", "negative", "zero" 중 하나를 반환합니다.
static String signOfNumber(int value) {
if(value == 0) {
return "zero";
} else if(value > 0) {
return "positive";
} else {
return "negative";
}
}
4️⃣ 나이 확인하기
나이가 18세 이상이면 true, 아니면 false를 반환합니다.
static boolean checkAdult(int age) {
return (age >= 18);
}
5️⃣ 최대값 찾기
두 개의 정수 중에서 큰 값을 반환합니다.
삼항 연산자 사용 → (조건식) ? 결과1 : 결과2
static int findMax(int n1, int n2) {
return (n1 > n2) ? n1 : n2;
}
🧪 전체 예제 실행 코드
package exercise;
public class Exercise9 {
public static void main(String[] args) {
// 1. 인사말 출력
greet("길동");
// 2. 제곱 계산
int sum1 = square(10);
System.out.println("sum1 : " + sum1);
// 3. 부호 판별
String result1 = signOfNumber(-1);
System.out.println("result1 : " + result1);
// 4. 나이 확인
boolean isAdult = checkAdult(20);
System.out.println("isAdult : " + isAdult);
// 5. 최대값 찾기
int max = findMax(100, 1001);
System.out.println("max : " + max);
}
}
📌 실행 결과 예시
안녕하세요 [길동] 님!
sum1 : 100
result1 : negative
isAdult : true
max : 1001
✨ 마무리하며
이번 글에서는
- 입력값이 있는 경우와 없는 경우
- 반환값이 있는 경우와 없는 경우
이 두 가지 조합을 활용해서
다양한 함수 설계 패턴을 연습해보았습니다.
이런 패턴들을 자유롭게 쓸 수 있어야
앞으로 메서드를 설계할 때도 헷갈리지 않게 됩니다 😊
⏭️ 다음 글 예고 : 메서드(method)란 뭘까?
"함수와 메서드는 뭐가 다른 거야?"
"객체가 가진 기능(행동)은 어떻게 만들까?"
다음 글에서는 함수가 클래스 안에 포함되면
**메서드(Method)**라고 부르게 되는 이유와,
메서드 선언 및 호출 방법을 함께 알아볼 예정입니다!
👉 다음 포스팅도 기대해주세요 😊
🔙 이전 글 보기
함수(Function)이란 뭘까??