[TIL] 220528

HJ Kim·2022년 5월 28일
0

TIL

목록 보기
1/27

1. 생활코딩 Java

1. 14.1 나의 앱 만들기

(egoing님은 항상 강조하시는게 '최소한으로 배워서 최대한으로 써먹기'를 강조하신다.. 난 최대한으로 배워도 최소한으로도 못 써먹는거같은데..)

  • 판매자가 소비자에게 제공하는 가격 : 공급가 (Value of supply)
    -> 이때 소비자는 세금까지 (VAT, 부가세) 까지 같이 냄
  • 판매자는 VAT인 공급가의 10%를 국세청 납부
  • 공급가에서 비용(Expense) 3000을 뺀 금액은 이익 7000 (Income)
  • 이 이익을 투자 비율만큼 배당 (Dividend)
  • 이를 위해 MyApp이란 Java Project 생성

public class AccountingApp {

	public static void main(String[] args) {

		double valueOfSupply = Double.parseDouble(args[0]);
		double vatRate = Double.parseDouble(args[1]);
		double expenseRate = 0.3;
		double vat = valueOfSupply*vatRate;
		double total = valueOfSupply + vat;
		double expense = valueOfSupply*expenseRate;
		double income = valueOfSupply - expense;
		double dividend1 = income*0.5;
		double dividend2 = income*0.3;
		double dividend3 = income*0.2;
		
		System.out.println("Value of Supply : "+valueOfSupply);		
		System.out.println("VAT : " + vat);
		System.out.println("Total : " + total);
		System.out.println("Expense : " + expense);
		System.out.println("Income : " + income);
		System.out.println("Dividend : " + dividend1);
		System.out.println("Dividend : " + dividend2);
		System.out.println("Dividend : " + dividend3);
		
	}

}

(참고로 eclipse에선 원하는 부분만 refactor로 선택해서 local 변수를 만들 수 있다. 핵편하네 ㅋㅋ)

2. Java의 정석 (도서)

어제 주문한 책이 오늘 왔다. 책을 보면서 공부하는건 대체적으로 의견이 반반 나뉘는 것 같지만 나같은 경우엔 책을 보면서 하는게 편하기 때문에..
그 중에서도 바이블 이라고 생각되는 책을 구매했다.

(1) 자바언어의 특징

  • OS 독립적
    -> JVM (Java Virtual Machine)으로 인해 가능
  • 객체지향언어
    -> 상속, 캡슐화, 다형성이 잘 적용
  • Easy to learn
    -> 간결하면서 명료한 객체지향적 설계
  • 자동 메모리 관리 (Garbege Collection)
    -> 자바로 작성된 프로그램 실행 시 가비지 컬렉터가 자동으로 메모리 관리
  • 네트워크와 분산처리 지원
  • 멀티쓰레드 지원
  • 동적 로딩 (Dynimic Loading) 지원
    -> 실행시 모든 클래스가 로딩되는게 아닌 필요한 시점에 클래스를 로딩하여 사용.

(2) JVM(Java Virtual Machine)

  • 자바를 실행하기 위한 가상 시계
  • OS에 상관없이 자바로 작성된 애플리케이션은 JVM에서만 실행됨.
    (이 부분은 추후 JVM 공부시에 따로 포스팅 해서 Update 하자)

(3) Java 프로그램 실행 원리

(Hello.Java 라는 파일을 작성했다고 가정. 해당 파일의 소스코드는 아래와 같음)

class Hello {
	public static void main(String[] args) {
    	System.out.println("Hello, world.");
    }
}

이 파일을 실행시키기 위해 진행되어야 하는 과정은 아래와 같다.

  • 자바컴파일러(javac.exe)를 사용해서 소스파일(Hello.java)를 클래스파일(Hello.class) 생성
  • 생성된 클래스파일을 자바 인터프리터(java.exe)로 해석 하고 실행
  • "Hello, world." 출력

이때 위 소스코드 처럼 main문을 반드시 적어줘야 한다. 인터프리터인 java.exe는 main문을 호출하여 첫 문장부터 마지막 문장까지 수행하기 때문이다.
즉 main문이 Java application의 시작이다.

profile
티끌모아 태산을 아는 사람

0개의 댓글