티스토리 뷰

클래스는 서로 연관된 변수와 메소드를 묶어 놓은 것입니다.

 

아웃라인을 선택해줍니다. 클래스 안에 속해있는 여러가지 맴버들(변수, 메서드)의 리스트를 보여줍니다.

하지만 여기서 계속 기능이 추가 된다면 엉망이 될겁니다.

 

그래서 이를 디렉토리처럼 관리를 해주는게 클래스 입니다.

 

class Accounting {
	
	public static double valueOfSupply;
	public static double vatRate;
	public static double expenseRate;
	
	public static void print() {
		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 : " + getDividend1());
        System.out.println("Dividend 2 : " + getDividend2());
        System.out.println("Dividend 3 : " + getDividend3());
	}

	public static double getDividend3() {
		return getIncome() * 0.2;
	}

	public static double getDividend2() {
		return getIncome() * 0.3;
	}

	public static double getDividend1() {
		return getIncome() * 0.5;
	}

	public static double getIncome() {
		return valueOfSupply - getExpense();
	}

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

	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.print();
 
    }
}

메인 안에 있는 함수들에 Accounting.으로 호출해주면

 

 

 

 

구조는 달라도 결과가 같은 깔끔한 코드가 완성됩니다.

 

 

 

docs.oracle.com/javase/tutorial/java/javaOO/classes.html

 

Classes (The Java™ Tutorials > Learning the Java Language > Classes and Objects)

The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See Java Language Changes for a summary of updated

docs.oracle.com

 

댓글