본문 바로가기

Java/Java1

Class

728x90
반응형

Method와 유사한 개념.

아니 Method를 묶어주는 그 상위 개념이라고 생각하면 될 것 같다. 

 

객체(Class)는 서로 연관된 변수와 Method를 그루핑하고 이름을 부여해준 것이다. 결국 Method와 비슷한 정리상자라고 나는 이해했다. 

 

Class가 필요한 이유는 하나의 App 안에 서로 다른 Method와 변수들이 섞여 들어갈 수 있기 때문이다. 

그렇기 때문에 그 전에 Class 라는 객체로 먼저 묶어주면, 딱 지정해서 그 값들만 불러올 수 있게 되는거다. 

 

그냥 큰 박스안에 파우치들이 여러개 있는거라고 생각했다. 

머 예를 들어 NCT 굿즈 상자 (=App)이 있고 그 중에서 NCT DREAM의 제노 포카를 꺼내야 한다고 생각해보자. 

 

 

(과몰입 빠순이라고 욕해도 어쩔 수 없다 ^ㅠ^)

 

 

굿즈를 정리도 안해놓고 한 박스에 몰아 넣으면 찾기 힘들어 질테니...

 

NCT DREAM 파우치를 따로 만들어 주는거다 (=Class)

그러면 엔시티를 전혀 모르는 사람이 제노 포카를 꺼내려고 할때

 

NCT 앱에서 NCT DREAM 클래스에 있는 제노 포카를 꺼내주련? 이라고 부탁하면 더 쉬워지지 않겠냐 하는 

머 이렇게 설명하면 굉장히 쉬워지는 개념이라고 할 수 있다. 

 

그래서 밑에 코드는 NCT DREEAM 제노 포카를 꺼내게 해주는 코드이다 ^^

 

class Accounting {
	public static double ValueOfSupply;
	public static double vatRate;
	public static double expenseRate;
	
	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;
	}

}
	


public class AccountingAppClass {

	
	public static void main(String[] args) {
		
		Accounting.ValueOfSupply = 10000.0;
		Accounting.vatRate = 0.1;
		Accounting.expenseRate = 0.3;
		Accounting.getPrint();
		
	}
}

	

 

 

먼가 굉장히 간단하게 이해하고 넘어가는 거 같아서 뿌듯하다. 

 

 

 

 

 

 

 

728x90
반응형

'Java > Java1' 카테고리의 다른 글

Java1 완강  (0) 2020.11.21
Instance  (0) 2020.11.21
Method  (0) 2020.11.21
조건문, 배열, 반복문  (0) 2020.11.19
MyApp 만들기 - 2  (0) 2020.11.18