[Java] Hello의 동작 원리

김지영·2023년 4월 17일
0

Java

목록 보기
2/16

Hello.java 파일 분석하기

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

Hello.java의 3가지 중요한 부분

  1. 클래스 선언
public class Hello {
	...
}
  • public class로 정의된 Hello 클래스
  • public class의 클래스 이름과 파일 이름은 같아야 한다. (중요! 대소문자 구분함): Hello.java
  1. 메소드 선언
public static void main (String[] args) {
	...
}
  • 클래스는 필드(Field)와 메소드(Method)를 가질 수 있다.
  • 프로그램이 실행하려면 반드시 가져야 하는 main 메소드
  • Java로 만든 프로그램이 실행되려면 위의 코드(code)를 가지고 있어야 한다. 프로그램 시작점이라고도 말한다.
  1. System 클래스의 out, out이 가지고 있는 println() 메소드를 이용해 출력하기
System.out.println("Hello");
  • System.out은 System이 가지고 있는 out이라는 의미이다.
  • out.println은 out이 가지고 있는 println이라는 의미이다.
  • println 뒤에 괄호가 붙어 있는데, 이 때 println 메소드라고 말한다.
  • out은 괄호가 붙지 않았는데, 이 때 out 필드라고 말한다.
  • out이 가지고 있는 println 메소드의 역할은 괄호 안의 내용을 화면에 출력한다. 즉, "Hello"가 출력되게 된다. (이 때 큰 따옴표 안의 내용이 출력된다.) 큰 따옴표까지 포함해서 문자열(String)이라고 한다.

컴파일하기

  • 컴파일을 하려면 반드시 javac라는 프로그램이 필요하다. javac는 자바 컴파일러(Compiler)를 말한다.
    javac Hello.java
  • 터미널에서 위의 명령을 입력하면 Hello.java라는 파일을 읽어들여서 컴파일을 하게 된다.
  • 컴파일을 성공하면 Hello.class 파일이 생성되고, 컴파일이 실패하면 오류메시지가 보여진다.
  • Hello.class 파일을 바이트(byte) 파일이라고 말한다. Hello.java는 에디터로 열어보면, 사람이 알아들을 수 있는 말로 되어 있지만, Hello.class는 사람이 알아볼 수 없는 말로 되어 있다.

JVM으로 실행하기

  • 자바로 작성된 프로그램이라는 것은 컴파일된 클래스. 즉, 바이트 파일을 의미한다.
  • 작성된 바이트 파일을 실행하려면 JVM(Java Virtual Machine)이 필요하다. 이 JVM 역할을 수행하는 것이 java 명령이다.
  • hwp 파일을 읽어들이려면 아래한글 워드프로세서가 필요하고, psd 파일을 읽어들이려면 포토샵 프로그램이 필요한 것과 같은 원리이다.
  • JVM은 바이트 코드를 읽어들여 실행된다. 바이트 코드를 읽어들여 실행하기 위해서는 다음과 같은 명령을 실행한다. 이 때 확장자 이름은 입력하면 안된다.
    java Hello
  • java 프로그램은 Hello 클래스를 한 줄 읽고 해석하고 실행하고, 한 줄 읽고 실행하고를 반복하면서 실행한다. 이렇게 한줄 한줄 읽어들이고 해석하면서 실행하는 방식을 인터프리터(interpreter) 방식이라고 한다.

연습

  • 본인의 이름, 성별, 이메일 주소를 출력하는 클래스를 작성하고, 컴파일하고, 실행한다.
public class Practice{
  public static void main (String[] args) {
    System.out.println("name: jiyoung");
    System.out.println("gender: female");
    System.out.println("email: @naver.com");
  }
}

0개의 댓글