728x90
반응형
다시 정신차리고 Java1 끝내기 시작
방금 들은 강의는 Method에 대한 강의였다. 시작할때부터 복잡하고 아직 배우지 않은 내용이니 전부를 이해하려고 노력하지 않아도 된다고 했다. 알겠습니당.
Method는
"서로 연관된 코드를 그룹핑해서 이름을 붙인 정리정돈의 상자다."
라고 먼저 영상에서 말하고 시작한다.
솔직히 무슨 말인지 정확히 와닿지는 않았다.
이게 코딩을 배우는데 있어 좀 가장 어려운 부분인거 같다.
대체 설명을 들어도 그게 어떤 말인지 잘 감이 안온다.
하지만 직접 코드를 만들고 실습을 해보면 저 말을 조금 더 직관적으로 이해할 수 있다.
그래서 실습이 굉장히 중요하다.
일단 먼저 내가 만든 코드를 밑에 적겠다.
public class AccountingAppMethod {
public static double ValueOfSupply;
public static double vatRate;
public static double expenseRate;
public static void main(String[] args) {
ValueOfSupply = 10000.0;
vatRate = 0.1;
expenseRate = 0.3;
getPrint();
}
private static void getPrint() {
System.out.println("Value of supply :" + ValueOfSupply);
System.out.println("VAT :" + getVAT());
System.out.println("Total :" + getTotal());
System.out.println("Expense :" + getExpense());
System.out.println("Income :" + getIncome());
System.out.println("Dividend1 :" + getDividend1());
System.out.println("Dividend2 :" + getDividend2());
System.out.println("Dividend3 :" + getDividend3());
}
private static double getDividend3() {
double dividend3 = getIncome()*0.2;
return dividend3;
}
private static double getDividend2() {
double dividend2 = getIncome()*0.3;
return dividend2;
}
private static double getDividend1() {
double dividend1 = getIncome()*0.5;
return dividend1;
}
private static double getExpense() {
double expense = ValueOfSupply*expenseRate;
return expense;
}
private static double getIncome() {
double income = ValueOfSupply-getExpense();
return income;
}
private static double getTotal() {
return ValueOfSupply + getVAT();
}
private static double getVAT() {
return ValueOfSupply*vatRate;
}
}
쓰고보니 js 에서의 함수 같다.
아니 맞는거 같다.
사용자는 main 안에 있는 변수들만 신경쓰면 그 외의 부분의 코드는 main 밖에서 처리될 수 있도록 만들어 준 것이 method 이다. 사실 정확히 맞는지는 확실하진 않으나, 내가 이해하기로는 그렇다.
특히 getPrint를 method 화 시킨게 가장 드라마틱하게 main 안의 코드 수를 줄일 수 있었다.
매번 변수를 지정해줘야했던 코드에서 드디어 그 밖에서 자동으로 계산을 해주는 시스템을 얼추 구현한거 같다.
다시 한번 강조하지만 내가 이해한것이 100% 맞는지는 모르겠다.
여튼 method를 활용하면 적어도 main 안에 있는 코드들은 깔끔해진다는거
728x90
반응형
'Java > Java1' 카테고리의 다른 글
Instance (0) | 2020.11.21 |
---|---|
Class (0) | 2020.11.21 |
조건문, 배열, 반복문 (0) | 2020.11.19 |
MyApp 만들기 - 2 (0) | 2020.11.18 |
MyApp 만들기 - 1 (0) | 2020.11.18 |