프리 정보 컨텐츠

자바 변수, 메소드, 클래스, 인스턴스를 통한 구조생성 본문

JAVA

자바 변수, 메소드, 클래스, 인스턴스를 통한 구조생성

쏜스 2020. 12. 23. 01:54

 

class Accounting {

	public  double expenseRate;
	public  double valueOfSupply;
	public  double vatRate;	
	public  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());
		
	}
	
	private double getDividend1() {
		return getIncome() * 0.5;
	}
	private double getDividend2() {
		return getIncome() * 0.3;
	}
	private double getDividend3() {
		return getIncome() * 0.2;
	}

	private double getIncome() {
		return valueOfSupply - getExpense();
	}

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

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

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

public class AccountingClassApp {
	
	public static void main(String[] args) {	
    
		// 한번에 변수화 기능 오른쪽 마우스 = Refactor -> Extract Local Variable		
		// 복제된 클래스를 이용하여 편리하게 사용(버그를 적게 유발) -> 인스턴스 사용
		
		// 자바 총정리 = 메소드로 구조를 잡고 메소드와 변수를 그룹해서
		// 클래스로 구조를 잡고 클래스를 복제한 인스턴스로 또 다른 구조를 생성
		
		// new -> 인스턴스
		Accounting a1 = new Accounting();
		a1.valueOfSupply = 10000.0;
		a1.vatRate = 0.1;
		a1.expenseRate = 0.3;
		a1.print();
		
		Accounting a2 = new Accounting();
		a2.valueOfSupply = 20000.0;
		a2.vatRate = 0.05;
		a2.expenseRate = 0.2;
		a2.print();
	}
}

// 자바 클래스와 인스턴스를 사용하는 이유, 사용하는 방법에 대한 정리

 

클래스는 단순히 버그를 적게 유발하기 위함도 있지만, 인스턴스를 통해 새로운 구조를 생성함으로써

코드의 가독성, 일의 효율을 올려주는 역할을 해준다.

 

클래스를 복제한 인스턴스를 통하여 위와 같은 구조를 다시 생성해줌으로써

다시 정리해준다. 즉, 메소드, 클래스, 인스턴스는 정리 상자와 같은 역할을 해준다.

명확하게 사용하는 방법에 대해 숙지해두자.

 

출처 

opentutorials.org/course/3930

Comments