본문 바로가기
Work/Java

[Java] Java에 대한 상식

자바(Java) 언의의 탄생 

  • 1991년 Sun Microsystem사의 James Gosling (제임스 고슬랭)에 의해서 고안하였다.
  • 초기에는 "Oak"으로 불렸으나 1995년 "Java"로 변경되었다.
  • World Wide Web의 출현으로 자바는 컴퓨터 언어 설계를 하는데 더욱 확발하게 발전하게 되었다.

 

프로그래밍 언어 : 자바

  • 단순(Simple)하다
  • 객체지향(Object-oriendted)적이다
  • 분산(Distributed)환경의 응용에 적합하다
  • 컴파일된 클래스파일을 인터프리터(Interpreter)가 실행한다.
  • 견고(Robust)한 기능을 제공한다.
  • 안전(Secure)하다
  • 구조중립(Architecture-neutral)적이고 이식성(Potable)이 높다.
  • 높은 성능(High-performance)를 제공한다.
  • 다중 스레드(Multithread)를 제공한다.
  • 동적(Dynamic)이다.

 

자바의 특성

  • 플랫폼에 독립적인 프로그램을 작성할 수 있다.
  • 자바는 완벽한 객체 지향적 언어이다.

 

JVM(Java Virual Machine)

자바 바이트 코드를 기계어로 사용하는 컴퓨터를 자바 가상 머신이라 한다.

  • 스택 영역(Rumtime stack)
  • 동적 할당 메모리 영역 (Garbage Collection Heap)
  • 상수 & Method 영역 (Constant & Code Segment)
  • Register 영역 (Process Register)

 

자바(Java) 플랫폼 종류

Java SE (Java Platform - Standard Edition)

  • Desktop이나 Server에서 Java Application/Applet등을 개발, 배치, 실행 할 수 있는 환경을 제공
  • Compiler, Interpreter, 표준 API 등 제공
  • Java SE Development Kit (JDK)

Java EE (Java Platform - Enterprise Edition)

  • Java SE를 기반으로 대규모 기업용 서버를 구축하고, 실행 할 수 있는 환경을 제공
  • Web Application Server(GlassFish)와 Servlet, JSP, JDBC, DataSource, JPA, JTA, JNDI, RMI, EJB, JMS 등 다수의 API 제공
  • Java EE SDK 다운로드

Java ME (Java Platform - Micro Edition)

  • 휴대폰, PDA 등에서 동작하는 모바일 어플리케이션을 개발하고 실행할 수 있는 환경을 제공
  • Compiler, Emulator, 표준 API 등 제공
  • Java ME SDK

 

자바 설치 - 실행 및 컴파일 환경 만들기

 

Java SE Development Kit의 각종 개발 도구

JDK를 설치 하면 각종 개발 도구 {JAVA_HOME}/bin에 위치한다.

  • javac : 자바 컴파일러
  • java : 자바 인터프리터
  • javadoc : 자바 HTML Document 생성기
  • javap : 자바 역컴파일러
  • appletviewer.exe : 자바 애플릿뷰어
  • jar : 자바 압축기
  • jdb : 자바 디버거

 

개발 환경 만들기 - IDE 다운로드 및 설치

 

소스코드 작성시 주의 사항

  • 영문 대소문자를 구별한다.
  • 저장시 파일명을 클래스명과 동일하여 하며 확장자는 .java이다.
  • HelloWorld.java
  • 컴파일
    • javac HelloWorld.java
  • 실행
  • java HelloWorld

 

클래스 정의

  • 자바는 클래스 단위로 프로그램을 작성하기 때문에 소스파일 안에 반드시 클래스를 정의해야 한다.
  • 클래스의 이름은 첫 문자를 대문자로 시작하는 것이 관례이다.
  • 클래스의 구성요소(속성, 메소드 등…)들은 { } 안에 위치한다.
  • 소스파일 저장 시 파일명이 클래스명과 반드시 일치해야 한다. (한 파일에 클래스가 여러개가 있는 경우는 제외)

 

main(String[] args) 메소드 정의

  • 어플리케이션 프로그램이 실행되려면 최소 1개 존재하여야 한다.
  • 프로그램의 진입점으로 JVM에 의해 최초 호출되며 메인 메소드 블록 내부에 기술된 명령문들을 순차적으로 실행한다.
  • JVM은 세미콜론(;)으로 끝나는 문장을 하나의 명령문으로 인식한다.
  • 주석은 프로그램 소스코드를 쉽게 이해 하기 위해서 사용하며, 컴파일 및 실행에 영향을 미치지 않는다

 

 

 

 

정리글 순서가 정말 뒤죽박죽이지만, 그래도 유용하길 바라요