[Java] Java 특징

dev_jubby·2022년 12월 5일
0

Java

목록 보기
14/16
post-custom-banner

자바 기본 부터 잡기
Java의 정석


💡 Java 특징

  1. 자바가상머신(JVM)으로 인해 운영체제에 독립적이다. Write Once, run anywhere!

  2. 객체지향언어 -> 상속, 캡슐화, 다형성

  3. 자동 메모리 관리(Garbage Collection)

  4. 네트워크와 분산처리를 지원한다. 쉽게 개발할 수 있다.

  5. 멀티쓰레드를 지원한다.
    멀티쓰레드에 대한 스케쥴링(scheduling)을 자바 인터프리터가 담당한다.

  6. 동적로딩을 지원한다.
    실행 시에 모든 클래스가 로딩되지 않고, 필요한 시점에 클래스를 로딩하여 사용

  7. Java 애플리케이션은 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행시에 해석(interpret)되기 때문에 속도가 느리다.

  8. Java 애플리케이션은 JVM 하고만 상호작용하기 때문에 OS와 하드웨어에 독립적이다.

  9. 풍부한 클래스 라이브러리(Java API)를 제공한다.



💻 Java 개발환경구축

1. JDK (Java Development, 자바개발도구)
JDK를 설치하면 JVM과 Java API외에 자바를 개발하는데 필요한 프로그램이 설치된다.

javac.exe (자바 컴파일러): 자바소스코드를 바이트코드로 컴파일
java.exe (자바 인터프리터): 바이트코드를 해석하고 실행
javap.exe (역어셈블러): 클래스파일을 원래의 소스를 변환

선언부만 저장된다. '-c' 옵션을 이용하면 바이트코드로 컴파일된 내용도 볼 수 있다.

javadoc.exe (자동문서생성기): 주석을 이용해서 API문서와 같은 형식의 문서를 생성
jar.exe (압축프로그램): 클래스파일과 프로그램의 실행에 관련된 파일을 하나의 jar 파일로 압축하거나 압축해제


2. JRE (Java Runtime Environment, 자바실행환경)
자바로 작성된 응용프로그램이 실행되기 위한 최소환경
JVM + Java API



📚 Java API 문서

클래스 라이브러리의 모든 클래스에 대한 설명이 자세하게 나와있다.
ZIP으로 압축되어 있으며 html문서이다.

download: "http://java.sun.com/"

path: "jdk1.8\docs\api\index.html"



🖥 Java 프로그램 실행

Class Hello {
	public static void main(String[] args){ // main 메서드의 선언부. java.exe에 의해 호출될 수 있도록 약속된 부분
    	System.out.println("Hello, world!");
    }
}

Hello.java 작성 👉 javac.exe가 Hello.class로 컴파일 👉 java.exe 실행 👉 "Hello, world!" 출력

  1. main 메서드는 Java 애플리케이션의 시작점이다.
  2. 소스파일의 이름은 public class의 이름과 일치해야 한다.
  3. public class가 없다면 소스파일의 이름은 파일내의 어떤 클래스의 이름으로 해도 상관없다.
  4. 하나의 애플리케이션에는 main 메서드를 포함한 클래스가 반드시 하나는 있어야 한다. 둘 이상도 안된다.
  5. 소스파일(.java)와 달리 클래스파일(.class)는 클래스마다 하나씩 만들어진다.



profile
신입 개발자 쥬비의 기술 블로그 입니다.
post-custom-banner

0개의 댓글