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)이란 뭘까??

2025.04.23 - [분류 전체보기] - 🧱 함수(Function)란 뭘까?