본문 바로가기
IDE/IntelliJ IDEA

인텔리제이 활용9 - 메소드 추출 (리팩토링)

by 가시죠 2021. 1. 18.
반응형

인텔리제이 활용9 - 메소드 추출 (리팩토링)

리팩토링 중 특정 로직을 메소드로 분리할때 사용

단축키 : Shift+Ctrl+Alt+T

 

FizzBuzz : 1부터 100까지의 숫자 중 3의 배수는 Fizz 5의 배수는 Buzz, 둘 모두의 배수는 FizzBuzz를 출력하는 프로그램

 

아래는 FizzBuzz 를 출력하는 간단한 프로그램 이다.

public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 100; i++) {
            String out = "";
            if (i%3==0) {
                out += "fizz";
            }
            if (i%5==0) {
                out += "buzz";
            }
            if (i % 3 != 0 && i % 5 != 0) {
                out += i;
            }
            System.out.println(out);
        }
    }
}

 

for 문 안의 if문 비교 부분을 메소드로 분리해보자.

메소드로 분리 하려고 하는 부분에 블럭을 지정 후 Shift+Ctrl+Alt+T 를 눌러 리팩토링 팝업을 띄운다.

팝업에서 Method... 선택 후 메소드명 입력

 

인자값과 리턴값이 완벽한 메소드가 자동으로 생성되었으며, 기존 로직 부분에서 메소드를 호출하는 부분이 생겼다.

public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 100; i++) {
            String out = "";
            out = fizzbuzz(i, out);
            System.out.println(out);
        }
    }

    private static String fizzbuzz(int i, String out) {
        if (i%3==0) {
            out += "fizz";
        }
        if (i%5==0) {
            out += "buzz";
        }
        if (i % 3 != 0 && i % 5 != 0) {
            out += i;
        }
        return out;
    }
}

 

 

반응형

댓글