728x90
참고자료: Youtube - 생활코딩 JAVA1
조건문
double dividend1;
double dividend2;
double dividend3;
if(income > 10000.0) {
dividend1 = income*0.5;
dividend2 = income*0.3;
dividend3 = income*0.2;
} else {
dividend1 = income*1.0;
dividend2 = income*0;
dividend3 = income*0;
}
📌수입이 만 원 이상인지 파악해 배당을 다르게 해보자
배열
//double형 데이터 3개를 담을 수 있는 배열을 만들었다!
double[] dividendRates = new double[3];
dividendRates[0] = 0.5;
dividendRates[1] = 0.3;
dividendRates[2] = 0.2;
double dividend1 = income*dividendRates[0];
double dividend2 = income*dividendRates[1];
double dividend3 = income*dividendRates[2];
📌배열을 만들 때도 데이터 타입을 지정해준다! 또한 몇 개의 데이터를 넣을지 정의할 때 정한다.
👉🏻데이터타입 [] 배열이름 = new 데이터타입 [개수];
반복문
double[] dividendRates = new double[3];
dividendRates[0] = 0.5;
dividendRates[1] = 0.3;
dividendRates[2] = 0.2;
//데이터가 3개든 1억개든 print문은 하나만 작성해도 된다!
int i = 0;
while(i<dividendRates.length) {
System.out.println("Dividend : " + (income*dividendRates[i]));
i = i + 1;
}
📌데이터 개수에 상관없이 짧은 코드로 작업을 다 수행할 수 있다.
메소드
public class AccountingMethodApp {
public static double valueOfSupply;
public static double vatRate;
private static double expenseRate;
public static void main(String[] args) {
valueOfSupply = 10000.0;
vatRate = 0.1;
expenseRate = 0.3;
//만들어진 메소드 호출
print();
}
private 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("Dividend1 : " + getDividend1());
System.out.println("Dividend2 : " + getDividend2());
System.out.println("Dividend3 : " + getDividend3());
}
private static double getDividend1() {
return getIncome()*0.5;
}
private static double getDividend2() {
return getIncome()*0.3;
}
private static double getDividend3() {
return getIncome()*0.2;
}
private static double getIncome() {
return valueOfSupply - getExpense();
}
private static double getExpense() {
return valueOfSupply*expenseRate;
}
private static double getTotal() {
return valueOfSupply + getVAT();
}
//메소드를 만드는 코드
private static double getVAT() {
return valueOfSupply*vatRate;
}
}
📌서로 연관된 코드를 모아서 이름을 붙인 정리정돈의 상자 다.
👉🏻지역변수: main 메소드 안에서만 사용할 수 있는 변수
✍🏻전역변수: 어느 메소드에서나 접근할 수 있는 변수, public static을 앞에 붙여준다.
클래스
class Accounting {
public static double valueOfSupply;
public static double vatRate;
private static double expenseRate;
private 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("Dividend1 : " + getDividend1());
System.out.println("Dividend2 : " + getDividend2());
System.out.println("Dividend3 : " + getDividend3());
}
private static double getDividend1() {
return getIncome()*0.5;
}
private static double getDividend2() {
return getIncome()*0.3;
}
private static double getDividend3() {
return getIncome()*0.2;
}
private static double getIncome() {
return valueOfSupply - getExpense();
}
private static double getExpense() {
return valueOfSupply*expenseRate;
}
private static double getTotal() {
return valueOfSupply + getVAT();
}
private 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();
}
}
📌객체지향의 핵심 클래스 !
📌메소드가 여러가지면 성질이 비슷한 메소드끼리 하나의 클래스로 묶어준다.
인스턴스
class Accounting {
public double valueOfSupply;
public double vatRate;
public double expenseRate;
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("Dividend1 : " + getDividend1());
System.out.println("Dividend2 : " + getDividend2());
System.out.println("Dividend3 : " + 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) {
Accounting a1 = new Accounting();
a1.valueOfSupply = 1000.0;
a1.vatRate = 0.1;
a1.expenseRate = 0.3;
a1.print();
Accounting a2 = new Accounting();
a2.valueOfSupply = 2000.0;
a2.vatRate = 0.05;
a2.expenseRate = 0.2;
a2.print();
}
}
📌 인스턴스 란 하나의 클래스를 복제해서 서로 다른 데이터의 값과 메소드를 가진 복제본을 만드는 것이다.
👉🏻new를 통해 클래스를 복제한다.
728x90