본문 바로가기
Programming/Java

00 | Java의 동작: Hello.java

by lucid_07 2023. 10. 4.
반응형

기초(노션)

JAVA는

객체 지향 언어.

플랫폼에 독립적이다.

느리지만, 버전 업 되면서 다른 언어들의 장점을 흡수하고 있다.(모던 자바)

  • 람다: 함수형 프로그래밍
  • Stream API: 람다 표현식과 메서드 참조 등의 기능과 결합하여 매우 복잡하고 어려운 데이터 처리 작업을 쉽게 조회하고 필터링하고 변환하고 처리할 수 있도록 한다.
  • 병렬 프로그래밍: 여러 개의 CPU 코어에서 작업을 배분해서 동시에 작업을 수행한다.

 

클래스

class 이름은 파일 이름과 동일해야 한다. 첫 글자는 무조건 대문자.

public class Hello{
...
}

 

메서드

클래스는 필드(Field)와 메서드(Method)를 가질 수 있다.

프로그램 실행이 시작되는 시작점: main 메서드

	public static void main(String[] args) {
	...
    }

 

System.out.println("Hello");

  • 대문자로 시작하는 System은 클래스이다.
  • out은 소문자로 시작하고 인자를 받지 않으므로System의 필드.
  • println은 소문자로 시작하고 소괄호로 인자를 받으므로 메서드.

검색: java system api -> https://docs.oracle.com/javase/8/docs/api/java/lang/System.html 

System class에 대해 알아 볼 수 있다.

  • Field Summary
  • Method Summery

 

컴파일

Hello.java (Java 코드)   --컴파일-->   Hello.class (바이트 코드) --JVM(운영체제에 따라 상이, jdk안에 있음)-->  Hello.class실행: 한 줄씩(인터프리터 방식)
  • 리눅스에서 다음과 같은 명령어를 사용하면 cat Hello.java -> Hello.java의 내용이 출력
  • cat Hello.class -> 바이트코드가 출력된다.

인텔/맥 실리콘의 기계어 명령어 집합이 다르기 때문에 호환의 문제가 있다. Java는 소스코드와 기계어의 중간인 byte코드를 넣어 이를 해결하였다(C언어의 경우 컴파일 하면 기계어로 된 코드가 만들어진다).

 

반응형

'Programming > Java' 카테고리의 다른 글

반복문의 라벨  (0) 2023.11.22
Java의 Switch: 14 이후 추가된 기능  (2) 2023.11.22
Java의 char  (2) 2023.11.21
Static  (0) 2023.10.17
01 | 기본 문법 | 변수와 리터럴  (0) 2023.10.04