주요용어
Java 언어의 특징
§ C/C++ 언어와 유사하나 단순함
‐ 문법적으로 C/C++과 유사하나 배우기 쉽다.
C/C++ 언어와 다르게 포인터와 전처리기를 사용하지 않으며 메모리 할당 후의 제거 작업이 필요하지 않다.
§ 플랫폼에 독립적인 언어
‐ 바이트코드는 아키텍쳐 중립적인 이진 파일이다.
Java VM(가상 기계)이 설치된 다양한 하드웨어와 운영체제에서 똑같은 바이트코드를 실행시킬 수 있다.
§ 완전한 객체지향 언어
‐ 완전한 객체지향 언어로 객체지향 개념의 장점을 모두 포함한다.
§ 분산 처리 기능(웹/네트워크 프로그래밍이 용이)
‐ 웹이나 네트워크 기반의 프로그래밍 또는 분산 처리를 위한 다양한 기능을 제공한다. 예 를 들어 인터넷 프로토콜 TCP/IP, 웹 서비스에 사용되는 HTTP와 관련된 클래스 라이브 러리를 제공한다.
§ 멀티 스레딩 지원
‐ 하나의 프로그램에서 여러 스레드가 실행될 수 있다.
각 스레드는 마치 독립적 프로그램 처럼 수행되어 사용자와의 상호작용을 극대화시킨다.
§ 동적 실행
‐ 실행 시간에 동적으로 필요한 클래스를 로드할 수 있다.
동적 클래스를 로드하기 위해 네트워크를 사용할 수 있다.
§ 강건함(엄격한 자료형의 검사, 예외 처리 기능 제공)
‐ 컴파일 시간에 강력한 검사 기능을 제공하여 신뢰성 높은 소프트웨어를 만들 수 있다.
포인터 타입과 포인터 연산이 없고 메모리의 자동 수집 기능을 제공함으로써 오류를 줄 인다.
예외처리 기능을 통해 실행 중 발생하는 오류를 처리할 수 있다.
§ 보안성
‐ 바이트코드는 Java VM에서 실행되므로 문제가 있더라도 운영체제나 컴퓨터 자원에 직접 적인 영향을 주지 않도록 할 수 있다.
Java 플랫폼
§ 일반적 플랫폼
‐ 플랫폼이란 프로그램이 실행되는 하드웨어 또는 소프트웨어 환경을 말한다.
‐ 대부분의 플랫폼은 기반이 되는 하나의 하드웨어와 거기에 설치된 운영체제를 합친 조합을 말한다.
확장자가 .java인 자바 소스를 컴파일하면, 확장자가 .class인 새로운 파일이 만들어지며 이것을 클래스 파일 또는 바이트 코드라고 한다. "write once, run anywhere."라는 표현이 있는데, 이것은 자바 소스를 컴파일해서 나오는 코드가 특정 플랫폼에만 적용되는 것이 아 니고 어디서든 실행될 수 있다는 의미이다. 바이트 코드는 자바 플랫폼에서 실행 가능한 자바 플랫폼의 기계어 코드라 할 수 있다. 윈도우, 유닉스, 맥OS 또는 인터넷 브라우저에서 자바 플랫폼만 있다면 바이트코드를 해 석할 수 있다.
자바 소스 코드의 컴파일 및 실행에 필요한 자바 컴파일러, 자바 VM, 자바 기본 API들 을 한데 묶어서 Java Software Development Kit라고 하며 줄여서 간단히 JDK라고도 한다.
§ 대소문자는 구분됨
§ public class A가 존재하면 파일 이름은 A.java
‐ 하나의 소스 파일에 여러 클래스 정의가 포함될 수 있으나, public 클래스는 많아야 하나 가 존재할 수 있으며, 파일의 이름은 public 클래스의 이름과 같아야 한다.
§ main 함수에서 프로그램이 시작됨
‐ main 함수의 형식을 기억해야 함
‐ main 함수는 반드시 public static void이어야 하며 String 배열을 인자로 가져야 한다.
public class HelloWorld {
public static void main(String[ ] args) {
// TODO Auto-generated method stub
System.out.println("HelloWorld!");
}
}
정리 ---
Java는 플랫폼에 독립적인 객체지향 프로그래밍 언어이다.
Java에서 자료형에 대한 검사가 엄격하다.
Java는 예외 처리와 멀티 스레딩을 지원한다.
Java 소스를 컴파일하면 클래스별로 확장자가 .class인 파일이 만들어지며 이 파일을 바이트코드라 한다.
Java 가상기계는 바이트코드를 해석하여 실행시킬 수 있다.
Java 프로그래밍을 위해 JDK를 설치해야 한다.
Eclipse는 다양한 언어를 지원하는 통합 개발 환경이다.