0Pricing
Java Academy · 강의

메서드 분해 및 깔끔한 코드

문제를 작고 이름이 명확한 메서드로 나눕니다. 중복을 줄이고 순수 도우미를 우선하며 매개변수 목록을 단순하게 유지합니다.

메서드 분해 및 깔끔한 코드은(는) CoddyKit의 무료 Java Academy 강의입니다. 이것은 3개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Java Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Java Academy 강의에는 총 3개의 강의가 포함되어 있습니다.

메서드를 분해하는 이유

분해하는 이유: 작은 메서드는 읽고, 테스트하고, 재사용하기 쉽습니다. 의도를 드러내고 세부 사항을 감춰 주므로 main 흐름을 이야기처럼 읽을 수 있습니다.

단일 책임

메서드 하나당 목적 하나. 메서드가 계산과 출력을 모두 한다면 나누십시오. 본문은 짧게(대략 5–15줄) 유지하고 이름은 동사로 정하십시오.

이름과 매개변수

이름이 내용을 설명해야 합니다. calc1보다 applyDiscount처럼 의미가 분명한 이름을 선호하십시오. 매개변수는 적고 의미 있게 유지하며, 동작을 숨기는 불리언 플래그는 피하십시오.

반복 제거

DRY. 같은 몇 줄을 복사해 붙여넣었다면 도우미로 추출하고 두 위치에서 호출하십시오. 이렇게 하면 규칙이 바뀔 때 오류가 줄어듭니다.

순수 도우미

순수 메서드는 입력에만 의존하고 결과를 반환합니다. 재사용하고 테스트하기 쉽습니다. 입출력과 출력은 가장자리 부분에 두십시오.

예제: 도우미로 분해하기

작고 설명적인 도우미(applyDiscount, addTax, 소수 둘째 자리 반올림)를 확인하십시오. 로직은 재사용하고 테스트할 수 있으며, 출력은 분리되어 있습니다.

public class Main {
  // Entry point: reads like a story using small helpers
  public static void main(String[] args) {
    double subtotal = 120.00;
    double discountRate = 0.10; // 10% off
    double taxRate = 0.08;      // 8% tax

    double discounted = applyDiscount(subtotal, discountRate); // pure
    double taxed = addTax(discounted, taxRate);                 // pure
    double total = round2(taxed);                               // pure

    printReceipt(subtotal, discountRate, taxRate, total);       // I/O kept at edge
  }

  // Apply a percentage discount (pure)
  static double applyDiscount(double amount, double rate) {
    return amount - (amount * rate);
  }

  // Add a percentage tax (pure)
  static double addTax(double amount, double rate) {
    return amount + (amount * rate);
  }

  // Round to 2 decimals (pure)
  static double round2(double x) {
    return Math.round(x * 100.0) / 100.0;
  }

  // Handle printing separately (side effect)
  static void printReceipt(double subtotal, double discountRate, double taxRate, double total) {
    System.out.println("Subtotal: " + subtotal);
    System.out.println("Discount: " + (int)(discountRate * 100) + "%");
    System.out.println("Tax: " + (int)(taxRate * 100) + "%");
    System.out.println("Total: " + total);
  }
}

깔끔한 설계 확인

빠른 확인: 다음 중 깔끔한 메서드 설계를 가장 잘 보여 주는 선택은 무엇입니까?

복습

복습: 작업을 분해하고, 명확한 이름을 선택하고, 중복을 제거하고, 핵심에는 순수한 도우미를 두며 부수 효과는 가장자리에 두었습니다.

자주 묻는 질문

“메서드 분해 및 깔끔한 코드” 강의는 무료인가요?

네 — “메서드 분해 및 깔끔한 코드” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Java Academy 강의 전체를 잠금 해제할 수 있습니다. Java Academy 강의에는 총 3개의 강의가 포함되어 있습니다.

“메서드 분해 및 깔끔한 코드”에서 뭘 배우나요?

문제를 작고 이름이 명확한 메서드로 나눕니다. 중복을 줄이고 순수 도우미를 우선하며 매개변수 목록을 단순하게 유지합니다. 브라우저에서 직접 실행하는 실습 코드로 Java Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Java Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Java Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 3개 중 3번째 강의입니다.

“메서드 분해 및 깔끔한 코드” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Java Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Java Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Java의 값에 의한 전달
  2. 정적 메서드와 인스턴스 메서드
  3. 메서드 분해 및 깔끔한 코드
← Java Academy(으)로 돌아가기