Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 컬렉션프레임워크
- socket
- 멀티쓰레드
- 자바
- 생성자
- 클래스
- 코딩
- 깃허브
- springDataJPA
- 백준
- 사용자관리프로그램
- springboot
- 템플릿엔진
- JavaScript
- Swing
- jcenter
- 서버
- 상속
- mavenCentral
- 클라이언트
- Oracle
- java
- Spring
- 메소드
- SwingCalendar
- HTML모드
- 인스턴스
- 바인드변수
- 카카오코딩테스트
- JPA Auditing
Archives
- Today
- Total
프리 정보 컨텐츠
자바 변수, 메소드, 클래스, 인스턴스를 통한 구조생성 본문
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();
}
}
// 자바 클래스와 인스턴스를 사용하는 이유, 사용하는 방법에 대한 정리
클래스는 단순히 버그를 적게 유발하기 위함도 있지만, 인스턴스를 통해 새로운 구조를 생성함으로써
코드의 가독성, 일의 효율을 올려주는 역할을 해준다.
클래스를 복제한 인스턴스를 통하여 위와 같은 구조를 다시 생성해줌으로써
다시 정리해준다. 즉, 메소드, 클래스, 인스턴스는 정리 상자와 같은 역할을 해준다.
명확하게 사용하는 방법에 대해 숙지해두자.
출처
Comments