가드 절
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
챌린지
쉬움validatePassword라는 이름을 가진 메서드를 생성하세요. 이 메서드는 하나의 인수를 받습니다:
- 검증할 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));
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.