관리 메뉴

나만의공간

🔧 IntelliJ 완전 정복 시리즈 5편 본문

Tools/IntelliJ

🔧 IntelliJ 완전 정복 시리즈 5편

밥알이 2025. 6. 18. 06:34

 

코드 리팩토링 기능 완전정복

개발자라면 매일 마주하는 작업 중 하나가 바로 리팩토링입니다.
IntelliJ IDEA는 강력한 리팩토링 도구들을 제공하여 코드를 더 깔끔하고, 유지보수가 쉬운 구조로 바꿔줍니다.
이 글에서는 자주 쓰는 리팩토링 기능들을 예제와 함께 설명하고, 단축키까지 정리해드립니다.


📌 IntelliJ에서 자주 사용하는 리팩토링 기능

기능명 설명 단축키 (윈도우 / 맥)
Rename 변수명, 메서드명 등을 일괄 변경 Shift + F6
Extract Method 코드 블록을 별도 메서드로 추출 Ctrl + Alt + M / ⌘ + Option + M
Extract Variable 중복되거나 복잡한 식을 변수로 추출 Ctrl + Alt + V / ⌘ + Option + V
Extract Field 지역 변수를 클래스 필드로 전환 Ctrl + Alt + F / ⌘ + Option + F
Extract Parameter 메서드 인자로 값 추출 Ctrl + Alt + P / ⌘ + Option + P
Change Signature 메서드 이름, 파라미터, 반환타입 변경 Ctrl + F6 / ⌘ + F6
Inline 불필요한 메서드나 변수를 제자리로 통합 Ctrl + Alt + N / ⌘ + Option + N
Move 클래스, 메서드, 필드를 다른 위치로 이동 F6
Safe Delete 사용 중인지 확인 후 안전하게 삭제 Alt + Delete / ⌘ + Delete
Replace Constructor with Factory 생성자 호출을 팩토리 메서드로 변경 단축키 없음 (Refactor 메뉴 통해 실행)

💡 실전 예제: Extract Method

// 리팩토링 전
public void printUserInfo(User user) {
    System.out.println("이름: " + user.getName());
    System.out.println("나이: " + user.getAge());
    System.out.println("이메일: " + user.getEmail());
}
// 리팩토링 후 (Extract Method)
public void printUserInfo(User user) {
    printBasicInfo(user);
}

private void printBasicInfo(User user) {
    System.out.println("이름: " + user.getName());
    System.out.println("나이: " + user.getAge());
    System.out.println("이메일: " + user.getEmail());
}

👉 이렇게 함으로써 가독성이 향상되고, 재사용 가능성도 높아집니다.


 

⚙ 리팩토링 도구 실행 방법

  • Refactor 메뉴: Right Click → Refactor 또는 Refactor(Refactor This): Ctrl + Alt + Shift + T / ⌘ + Ctrl + T
  • 단축키 직접 사용: 자주 쓰는 기능은 단축키로 바로 실행

🔍 리팩토링 시 유의사항

  • 코드 실행 전/후 테스트 필수: 예상치 못한 사이드 이펙트 방지
  • 버전 관리와 함께 사용: 리팩토링 후 Git diff로 변경 확인
  • 자동 리팩토링 기능은 검토 후 적용: 완벽하지 않을 수 있음

🚀 마무리하며

IntelliJ의 리팩토링 기능을 제대로 활용하면 더 깔끔하고 유지보수하기 좋은 코드를 작성할 수 있습니다.
초보자부터 고급 개발자까지 반드시 익혀야 할 필수 도구들입니다. 처음엔 단축키가 헷갈릴 수 있지만, 익숙해지면 마우스 없이 대부분의 리팩토링을 빠르게 처리할 수 있게 됩니다.

다음 편(6편)에서는 디버깅 기능 완전 정복을 주제로, 복잡한 로직을 빠르게 파악하고 오류를 추적하는 실전 디버깅 팁을 소개할 예정입니다.

Comments