본문 바로가기

developer/생활코딩 - JAVA1

[생활코딩 - JAVA1] 3/12 개발공부일지(3) - class를 활용한 AccountingApp_JAVA1 마무리!!!!!

슬슬 오늘 할당된 동력이 떨어진다. 우끼끼

오 근데 2강 남았다... 막판 스퍼트!!!

 

class 사용하기

class Accounting {
    public static double valueOfSupply = 900000.0;
    public static double vatRate = 0.1;
    public static double expenseRate = 0.3;

    public static void printout(String message) {
        System.out.println("\n" + message + "\n");
    }

    public static void printPrice() {
        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());
    }

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

    public static double getDividend1() {
        return getIncome() * 0.5;
    }
    public static double getDividend2() {
        return getIncome() * 0.3;
    }
    public static double getDividend3() {
        return getIncome() * 0.2;
    }

    public static double getTotal() {
        return valueOfSupply + getVat();
    }

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

    public static double getVat() {
        return valueOfSupply * vatRate;
    }
}
public class AccountingArrayLoopClassApp {
    public static String m1 = "Hello World!!";

    public static void main(String[] args) {


        double vat = Accounting.getVat();
        double total = Accounting.getTotal();
        double Expense = Accounting.getExpense();
        double income = Accounting.getIncome();

//        double rate2 = 0.3;
//        double rate1 = 0.5;
//        double rate3 = 0.2;
        //변수가 많을수록 더럽혀질 가능성이 높다.


        Accounting.printPrice();
        //Loop

        double dividend1 = Accounting.getDividend1();
        double dividend2 = Accounting.getDividend2();
        double dividend3 = Accounting.getDividend3();

        double[] dividend = new double[3];
        dividend[0] = dividend1;
        dividend[1] = dividend2;
        dividend[2] = dividend3;

        Accounting.printout(m1);

        int i = 0;
        while(i < dividend.length) {
            System.out.println("Dividend " + (i + 1) + ": " + dividend[i]);
            i++;
        }
    }
}

 

class를 활용함으로써, 필요한 함수나 변수만 호출할 수 있다.

main함수를 간단히 해서 가독성을 높인다.

indent를 엄청 줄일 수 있겠군.

객체지향의 핵심 class!

저도 한번 해보았습니다.

 

(class 이름).(variable 또는 method 이름) 의 형식으로 사용한다.

Ex)

double vat = Accounting.getVat();

 

초심자에게는 한없이 복잡한,

중급자 이상이 되어서 class가 익숙해지..??

class에 익숙해져서 중급자 이상이 되자!!!

 

Instance(인스턴스)

Accounting a1 = new Acounting();
a1.valueOfSupply = 10000.0;
a1.VatRate = 0.05;
a1.expenseRate = 0.2;
a1.print();

복제복제복제

class 도 복제할 수 있다.

복제하여 사용해서 필요없는 코드 작성을 줄이고, 가독성을 높인다. 버그 발생 가능성을 낮춘다.

 

막판에 뒷심 딸려서 후다닥 대충 작성했는데, 아마 나중에 돌아올 것이다... ㅋㅋ

 

무튼 그렇게 JAVA1 강의가 끝났다.

 

생활코딩 강의 역시 짧게 맛보기용으로 너무너무 좋다. 요즘 진짜 좋은 시대인 것 같다. 무료강의인데 그 퀄이.. ㅁㅊㄷ

이제 인프런 spring 프레임워크 강의 + 자바의 정석(기초편)으로 진행할 예정이다.

 

꾸준히 오늘도 시간을 갈아넣는다.

끝내 승리하리라! 꾸오오오오ㅗ오오오오오오ㅗ