티스토리 뷰

* 본 게시물은 HeadFirst Java 책을 공부목적으로 정리한 것 입니다.

1.껍질을 깨고

자바는 어떤 식으로 돌아갈까요?

소스 > 컴파일러 > 결과물 > 가상머신

1. 소스를 만듭니다.

2. 소스 코드를 컴파일러로 처리합니다. (오류 체크 후 문제 없으면 최종 결과 만듬.)

3. 컴파일러에서는 자바 바이트코드라는 코딩된 문서를 만들어 줌. (자바를 돌릴 수 있는 모든 장치에서는 이 파일을 뭔가 실행시킬 수 있는 형태로 해석 할 수 있습니다. 그리고 컴파일 바이트 코드는 플랫폼에 무관하게 사용할 수 있습니다.)

4. 자바가상머신(JVM)을 통해 자바 바이트 코드를 (.class) 실행. JVM은 바이트 코드를 해당 플랫폼에서 이해할 수 있는 형태로 해석하여 그 프로그램을 실행시켜줌.


일단, 소스코드를 입력하고(Party.java) javac 컴파일러로 컴파일 한 다음, 컴파일 된 바이트코드(Party.class)를 자바 가상 머신(JVM)에서 실행시키면 됨.


>> 컴파일러 역할 : 소스의 오류 체크, .java 파일을 .class 파일로 새로 만들어줌.

>> 자바가상머신 역할 : .class 파일을 해당 플랫폼에 맞게 해석하여 실행하게 해줌.  

자바 코드의 구조

소스 파일(.java)

클래스

메소드1

선언문

메소드2

선언문

선언문

클래스를 해부합시다.

모든 자바 애플리케이션에는 최소한 클래스 한 개가 있어야 하며, 적어도 main 메소드 하나가 있어야 합니다.(클래스 마다 하나 x, 애플리케이션 마다 하나씩.)

자바에서는 모든 것이 클래스 안에 들어감. 우선 소스코드 파일을 입력 > 컴파일 > 새로운 클래스 파일을 만듬. 프로그램을 실행 시킨다. == 클래스를 실행 시킨다.


프로그램을 실행시킨다.

> JVM에 “My First App”클래스를 불러오고main()메소드를 시작하라. 그리고 main()메소드에 있는 모든 코드가 실행될 때까지 계속 실행시켜라.”라는 뜻의 명령을 내리는 것. 프로그램 실행 절차가 시작되는 부분 : main()메소드.

프로그램이 아무리 커도 프로그램을 실행하려면 반드시 main()메소드가 필요.


Public class Test{

Public static void main(String[ ] args){

}

}

main()메소드

일단 main 안으로 들어가면 본격적으로 뭔가가 돌아감. 즉 대부분의 프로그래밍 언어에서 컴퓨터로 하여금 어떤 일을 하게 만드는 모든 일반적인 지시사항은 메소드 안에 있다.

1.뭔가를 하는 것

> 선언문: 선언,대입,메소드 호출 등

Int x = 3;
String name = "Dirk";
x = x * 26;
System.out.print("x는 "+x+"입니다.");
Double d = Math.random();


2.뭔가를 여러 번 반복하는 것

순환문: for문, while문

while(x > 12){
   x = x - 1;
}
for(int i; i <10; i++){
   System.out.println("Hello!" + i)
}


3. 조건에 따라 뭔가를 하는 것

분기문: if,else 테스트

if(x == 1){
   System.out.print("x는 1입니다.");
else{
   System.out.print("x는 1이 아닙니다.")
};


댓글