Java의 정석 - Java의 개요

원태연·2022년 5월 30일
0

Java의 정석

목록 보기
1/19
post-thumbnail

Java

Java의 역사

소형기기에 들어갈 소프트웨어를 만들기 위해 개발되었으나, 운영체제에 독립적이라는 장점을 활용하여 개발 방향을 인터넷에 적합하게 변경

그 후 Java로 개발한 웹 브라우저인 'Hot Java'를 발표하고 1996년에 정식 버전 배포.

초기에는 멀티미디어(사운드, 애니메이션 등)를 제공하는 Applet에 주로 사용되었지만, 보안상의 이유로 지원하지 않고 현재는 서버 쪽 프로그래밍을 위한 서블릿(Servelt)과 JSP에 주로 사용됨

특징

  • 운영체제에 독립적이다 -> 자바 응용 프로그램은 JVM을 통해 운영체제에 맞게 변환하여 전달. 덕분에 운영체제와 상관없이 실행이 가능하다
  • 객체지향언어
  • 자동 메모리 관리
  • 네트워크와 분산처리 지원 -> 네트워크 라이브러리(Java API)를 지원
  • 멀티 쓰레드 지원
  • 동적 로딩 -> 필요한 시점에 따라 클래스를 선택적으로 실행이 가능하며, 변경사항에 대해 전체 프로그램을 컴파일 하지 않아도 되므로 유연하게 구현 가능

JVM (Java Virtual Machine) : 자바를 실행하기 위한 소프트웨어로 구현된 하드웨어. Java는 JVM에서 실행되기 때문에 OS에 독립적이다.

Java는 JVM을 거쳐 실행되고 interpret되는 언어이기 때문에 속도가 느릴 수 있다. 최근엔 JIT컴파일러와 최적화 기술로 속도격차를 줄였다고 함.

JVM과 컴파일

JVM덕분에 운영체제 독립인 자바의 작동에 대해서 살펴보자.

자바로 작성한 파일을 실행하기 위해서는 두 번의 단계를 거쳐야만 한다.

  1. Java 소스코드인 project.java 파일을 project.class 파일로 바꾸는 단계
    Java 소스코드를 JVM이 인식할 수 있는 바이트코드로 컴파일하는 단계이고 javac.exe가 수행한다
  2. JVM이 project.class 파일 실행
    java.exeproject.class파일을 해석(interpret)하고 실행한다.

이러한 중간과정 덕분에 Java가 OS에 독립적이라는 장점을 가진다.

그렇기 때문에 자바로 프로그래밍을 하기 위해선 javac.exe, java.exe, javap.exe 등의 실행 파일들이 있는 JDK(Java Development Kit)가 필요하며, IDE를 통해 직접 사용하지 않아도 프로그램을 실행하면 자동으로 실행이 된다. 사용할 일은 없겠지만, 기본적인 구조에 대해서는 알아두자.

Java 프로그램

  • 자바의 모든 코드는 반드시 클래스 안에 존재하여야 하며,

  • 관련된 코드들이 별도의 클래스들을 이루고, 이 클래스들이 모여 Java 어플리케이션을 이룬다.

  • Java 어플리케이션은 main 메서드를 포함한 클래스가 반드시 하나 있어야 한다.

  • java.exemain메서드를 호출하여 Java 어플리케이션을 실행한다.

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

Java 어플리케이션은 여러 소스파일들이 구성한다.ㄴ

하나의 소스파일내에 하나의 클래스를 정의하는 것을 권장한다.\

또, 소스파일내에 public class가 존재하는 경우, 소스파일의 이름은 반드시 public class의 이름과 동일해야 하며, public class는 반드시 하나만 존재하여야 한다

//ex)
//Hello.java
public class Hello{
  // ...
} 

//hello.java
public class Hello{
  // ...
} //Wrong
profile
앞으로 넘어지기

0개의 댓글