자바의 특징 및 기초

Java

자바의 특징

  1. 간단하다.
  2. 객체 지향적이다. Object 클래스에서 모든 클래스를 파생한다.
  3. 인터프리터 언어이다. 자바는 컴파일 언어인 동시에 인터프리터 언어이다.
  4. 강력하다. 자바는 포인터 연산을 지원하지 않아 잘못된 주소를 가리킬 가능성을 사전에 없앤다. 자바는 모든 메모리 접근을 자바 시스템이 관리하고 제한하며 또한 예외 핸들링을 하여 시스템 붕괴의 우려가 없다.
  5. 안전하다.
  6. 플랫폼 독립적이다.
  7. 멀티 쓰레딩을 지원한다.
  8. 동적이다.

설치

JDK 설치

개발환경이란 자바로 프로그램을 만들 수 있는 컴퓨팅 환경을 말한다. 자바 프로그래밍을 하기 위해 필수적으로 필요한 java development kit를 설치하자.

https://www.oracle.com/java/technologies/downloads/

JDK를 설치하고 설치가 완료된 폴더로 이동해보자. jdk - bin 하위 폴더에 들어가게 되면 javacjava파일이 있다. javac는 java compiler의 약자이다. 자바 파일을 컴파일 할 때 사용하는 파일이다. 컴파일은 프로그래머가 작성한 코드를 컴퓨터가 이해할 수 있는 말로 바꾸는 행위이다.

java파일은 우리가 작성하게 될 .java파일을 자바파일 또는 자바소스라고 말한다.

우리가 작성한 a.java라는 자바 파일을 동작하기 위해서는 어떠한 과정을 거치는지 확인해보자. 먼저 .java 파일을 .class 파일로 바꾸어 주는 컴파일 단계 그리고 .class 파일을 실행하는 단계로 나뉘어 진다.

.class 파일을 왜 만들어서 JVM을 거치는 것일까? 흔히 C++,C언어는 결과물이 .exe로 이루어져 있다. 이는 즉 컴파일한 환경(운영체제)가 다르다면 다른 환경에서는 실행할 수 없다는 의미이다. 이는 속도는 빠르지만, 번거로움이 있다. 하지만 자바는 JVM과 같은 중간 단계를 거치기 때문에 c보다는 속도는 느리지만, .class 파일은 어떠한 운영체제에서도 사용할 수 있다는 점이다. 이는 한번 작성된 파일을 어디에서나 재활용 할 수 있다는 의미이다.

main 메소드


public class Helloworld {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("hello world");
	}

}

어떤 프로그램이든 시작과 끝이 있어야 한다. 이 시작과 끝을 관리하는 것이 main 메소드 이다. 자바의 하나의 규칙이라 생각하고 public static void main(String[] args) 의 형태를 암기하도록 하자. 이후에 차근히 알아볼 수 있도록 하겠다. IDE는 이클립스를 사용하여 작성해보도록 하겠다.