반응형
인텔리제이 활용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;
}
}
반응형
'IDE > IntelliJ IDEA' 카테고리의 다른 글
인텔리제이 활용11 - 버전관리 (git) (0) | 2021.01.19 |
---|---|
인텔리제이 활용10 - Navigation (심볼추적) (2) | 2021.01.19 |
인텔리제이 활용8 - Live Template (0) | 2021.01.18 |
인텔리제이 활용7 - 리네임 리팩토링 (0) | 2021.01.18 |
인텔리제이 활용6 - 코드포맷 (0) | 2021.01.18 |
댓글