Menu
Coddy logo textTech

가드 절

Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 38번째.

가드 절은 메서드 시작 부분에 위치한 조건문으로, 잘못된 조건을 확인하고 조기에 반환합니다. 이는 엣지 케이스를 먼저 처리함으로써 코드를 더 깔끔하고 읽기 쉽게 만듭니다.

가드 절이 없는 메서드를 보겠습니다:

public int divide(int num, int den) {
   if (den != 0) {
       if (num >= 0) {
           return num / den;
       } else {
           return -1;
       }
   } else {
       return -1;
   }
}

가드 절을 사용한 동일한 메서드:

public int divide(int num, int den) {
   if (den == 0) return -1;
   if (num < 0) return -1;
   return num / den;
}

어느 코드든 divide(10, 2)를 실행한 후, 결과는:

5

challenge icon

챌린지

쉬움

validatePassword라는 이름을 가진 메서드를 생성하세요. 이 메서드는 하나의 인수를 받습니다:

  1. 검증할 String (password)

이 메서드는 가드 절을 사용하여 비밀번호를 검증하고 다음 규칙에 따라 메시지 문자열을 반환해야 합니다:

  • password가 null인 경우: return "Password cannot be null"
  • password가 비어 있는 경우: return "Password cannot be empty"
  • password 길이가 8보다 작은 경우: return "Password must be at least 8 characters"
  • password에 공백이 포함된 경우: return "Password cannot contain spaces"
  • 모든 검증을 통과한 경우: return "Valid password"

치트 시트

가드 절은 메서드의 시작 부분에 있는 조건문으로, 잘못된 조건을 확인하고 조기에 반환하여 코드를 더 깨끗하고 읽기 쉽게 만듭니다.

가드 절 없이:

public int divide(int num, int den) {
   if (den != 0) {
       if (num >= 0) {
           return num / den;
       } else {
           return -1;
       }
   } else {
       return -1;
   }
}

가드 절 사용 시:

public int divide(int num, int den) {
   if (den == 0) return -1;
   if (num < 0) return -1;
   return num / den;
}

직접 해보기

import java.util.Scanner;

public class Main {
    public static String validatePassword(String password) {
        // 여기에 코드를 작성하세요
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String password = scanner.nextLine();
        if (password.equals("null")) {
            password = null;
        }
        System.out.println(validatePassword(password));
    }
}
quiz icon실력 점검

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

논리와 흐름의 모든 레슨