본문 바로가기
study/JAVA

Java 반복되는 코드를 줄이자 리펙토링!

by stilinski 2022. 3. 31.
728x90

변경 전

/* 출력력과처럼 총합계까지 출력이 되도록 main()메소드에 
 * 로직을 추가하세요.
 * 
 * [출력결과]
 * 연평해전 14000
 * 극비수사 22500
 * 소수의견 14000
 * 총합계: 50500
 */


public class Prob01_class {

	public static void main(String[] args) {
		int sum = 0;
		MovieShop[] me = new MovieShop[3];
		me[0] = new MovieShop("연평해전", 7000, 2);
		me[1] = new MovieShop("극비수사", 7500, 3);
		me[2] = new MovieShop("소수의견", 7000, 2);

		// 여기에 구현하세요/////////////////
		
		for(MovieShop data:me) {
			data.prn();
		}
		
		total(me);
		
		
		
		//////////////////////////

	}// end main()
	
	static void total(MovieShop[] me) {
		int total = 0;
		for(MovieShop data:me) {
		 total+=data.countMoney();
		}
		System.out.println("총합계: " + total);
	}

}// end class

 

변경 후

public class Prob01_class {

	public static void main(String[] args) {
		int sum = 0;
		MovieShop[] me = new MovieShop[3];
		me[0] = new MovieShop("연평해전", 7000, 2);
		me[1] = new MovieShop("극비수사", 7500, 3);
		me[2] = new MovieShop("소수의견", 7000, 2);

		// 여기에 구현하세요/////////////////

		total(me);

		//////////////////////////

	}// end main()

	static void total(MovieShop[] me) {
		int total = 0;
		for (MovieShop data : me) {
			data.prn();
			total += data.countMoney();
		}
		System.out.println("총합계: " + total);
	}

}// end class

 

 

 

 

 

 

 

 

변경된 것

메인메서드에 있는 반복문이 실행메서드에도 똑같이 있음...!

왜  처음엔 발견하지 못한거지

 

최종적으로 바뀐모습

 

 

물론 혼자서 생각해낸 건 아니고.. 답 참고하다가 발견한거지만(답 베낀건 아님..!!!)

이런게 리팩토링일까..?

별 거 아니지만 둑흔둑흔~♡

728x90

댓글