[14] 나의 앱 만들기 - 3

서희찬·2022년 1월 21일
0

JAVA - 생활코딩 

목록 보기
12/12
post-thumbnail

메소드

메소드는 정리정돈의 상자이다..!


public class AccountingMethodApp {

	public static void main(String[] args) {
		double valueOfSupply = Double.parseDouble(args[0]);
		double expenseRate = 0.3;
		double vatRate = 0.1;
		double vat = getVAT(valueOfSupply, vatRate);
		double total = valueOfSupply+vat;
		double expense = valueOfSupply*expenseRate;
		double income = valueOfSupply-expense;
		double dividend1 = income*0.5;
		double dividend2 = income*0.3;
		double dividend3 = income*0.2;
		
		System.out.println("Value of supply : "+valueOfSupply);
		System.out.println("VAT : "+vat);
		System.out.println("Total : "+total);
		System.out.println("Expense : "+expense);
		System.out.println("Income : "+income);
		
		System.out.println("Dividend 1 : "+dividend1);
		
		System.out.println("Dividend 2 : "+dividend2);
		
		System.out.println("Dividend 3 : "+dividend3);
		
		

	}

	private static double getVAT(double valueOfSupply, double vatRate) {
		return valueOfSupply*vatRate;
	}

}

이런식으로 클래스안에 메소드가 생긴다.


public class AccountingMethodApp {
	public static double valueOfSupply = 10000.0;
	public static double vatRate = 0.1;
	public static void main(String[] args) {
		
		double expenseRate = 0.3;
		double vat = getVAT();
		double total = valueOfSupply+vat;
		double expense = valueOfSupply*expenseRate;
		double income = valueOfSupply-expense;
		double dividend1 = income*0.5;
		double dividend2 = income*0.3;
		double dividend3 = income*0.2;
		
		System.out.println("Value of supply : "+valueOfSupply);
		System.out.println("VAT : "+vat);
		System.out.println("Total : "+total);
		System.out.println("Expense : "+expense);
		System.out.println("Income : "+income);
		
		System.out.println("Dividend 1 : "+dividend1);
		
		System.out.println("Dividend 2 : "+dividend2);
		
		System.out.println("Dividend 3 : "+dividend3);
		
		

	}

	private static double getVAT() {
		return valueOfSupply*vatRate;
	}

}

이런식으로 전역변수로 줄수있다.


public class AccountingMethodApp {
	public static double valueOfSupply;
	public static double vatRate;
	public static double expenseRate;
	public static double expense;
	
	public static void main(String[] args) {
		
		valueOfSupply = 10000.0;
		vatRate = 0.1;
		expenseRate = 0.3;
		expense = getExpense();
		double vat = getVAT();
		double total = getTotal();
		double income = getIncome();
		double dividend1 = income*0.5;
		double dividend2 = income*0.3;
		double dividend3 = income*0.2;
		
		print( dividend1, dividend2, dividend3);
		
		

	}

	private static void print(double dividend1, double dividend2,
			double dividend3) {
		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("Dividend 1 : "+dividend1);
		System.out.println("Dividend 2 : "+dividend2);
		System.out.println("Dividend 3 : "+dividend3);
	}

	private static double getIncome() {
		double income = valueOfSupply-expense;
		return income;
	}

	private static double getExpense() {
		double expense = valueOfSupply*expenseRate;
		return expense;
	}

	private static double getTotal() {
		return valueOfSupply + getVAT();
	}

	public static double getVAT() {
		return valueOfSupply*vatRate;
	}

}

이렇게 쭉쭉 method로 만들어줄수있다.

클래스

클래스는 서로의 연관된 변수와 메소드를 연관
method <- class

class Accounting{
	public static double valueOfSupply;
	public static double vatRate;
	public static double expenseRate;
	public static double expense;
	
	public static void print(double dividend1, double dividend2,
			double dividend3) {
		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("Dividend 1 : "+dividend1);
		System.out.println("Dividend 2 : "+dividend2);
		System.out.println("Dividend 3 : "+dividend3);
	}

	public static double getIncome() {
		double income = valueOfSupply-expense;
		return income;
	}

	public static double getExpense() {
		double expense = valueOfSupply*expenseRate;
		return expense;
	}

	public static double getTotal() {
		return valueOfSupply + getVAT();
	}

	public static double getVAT() {
		return valueOfSupply*vatRate;
	}

}




public class AccountingClassApp {
	
	
	public static void main(String[] args) {
		Accounting.valueOfSupply = 10000.0;
		Accounting.vatRate = 0.1;
		Accounting.expenseRate = 0.3;
		
		Accounting.expense = Accounting.getExpense();
		double vat = Accounting.getVAT();
		double total = Accounting.getTotal();
		double income = Accounting.getIncome();
		
		double dividend1 = income*0.5;
		double dividend2 = income*0.3;
		double dividend3 = income*0.2;
		// anotherVariable = .. ; 
		// anotherMethod = ... ;
		
		Accounting.print(dividend1, dividend2, dividend3);
	}
}

이르케.. 클래스로 묶어낼수있다 !

인스턴스

하나의 클래스를 복제해서 서로다른 데이터의 값과 서로 다른 메소드의 값을 가진 복제본을 만드는 것이다.

class Accounting1{
	public static double valueOfSupply;
	public static double vatRate;
	public static double expenseRate;
	public static double expense;
	
	public static void print(double dividend1, double dividend2,
			double dividend3) {
		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("Dividend 1 : "+dividend1);
		System.out.println("Dividend 2 : "+dividend2);
		System.out.println("Dividend 3 : "+dividend3);
	}

	public static double getIncome() {
		double income = valueOfSupply-expense;
		return income;
	}

	public static double getExpense() {
		double expense = valueOfSupply*expenseRate;
		return expense;
	}

	public static double getTotal() {
		return valueOfSupply + getVAT();
	}

	public static double getVAT() {
		return valueOfSupply*vatRate;
	}

}


class Accounting2{
	public static double valueOfSupply;
	public static double vatRate;
	public static double expenseRate;
	public static double expense;
	
	public static void print(double dividend1, double dividend2,
			double dividend3) {
		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("Dividend 1 : "+dividend1);
		System.out.println("Dividend 2 : "+dividend2);
		System.out.println("Dividend 3 : "+dividend3);
	}

	public static double getIncome() {
		double income = valueOfSupply-expense;
		return income;
	}

	public static double getExpense() {
		double expense = valueOfSupply*expenseRate;
		return expense;
	}

	public static double getTotal() {
		return valueOfSupply + getVAT();
	}

	public static double getVAT() {
		return valueOfSupply*vatRate;
	}

}


public class AccountingClassApp {
	
	
	public static void main(String[] args) {
		Accounting1.valueOfSupply = 10000.0;
		Accounting1.vatRate = 0.1;
		Accounting1.expenseRate = 0.3;
		
		Accounting1.expense = Accounting1.getExpense();
		double vat = Accounting1.getVAT();
		double total = Accounting1.getTotal();
		double income = Accounting1.getIncome();
		
		double dividend1 = income*0.5;
		double dividend2 = income*0.3;
		double dividend3 = income*0.2;
		// anotherVariable = .. ; 
		// anotherMethod = ... ;
		
		Accounting1.print(dividend1, dividend2, dividend3);
		
		//	..
		Accounting2.valueOfSupply = 20000.0;
		Accounting2.vatRate = 0.1;
		Accounting2.expenseRate = 0.3;
		Accounting2.print(dividend1, dividend2, dividend3);
		
		
		
		
	}
}

뭐,..일케하는거다 !

Accounting a1 = new Accounting();
		a1.valueOfSupply = 10000.0;
		a1.vatRate = 0.1;		

이런식으로 인스턴스를 만들어주고
class에 있는 static을 다 날려줘야지 사용할 수 있다.

profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)

0개의 댓글