Java 프로그램을 작성하기 위해서 Java 소스 코드를 작성하고, .java로 저장해야 합니다. Java 소스 코드 파일은 일반적으로 다음과 같이 구성됩니다.
public class class_name
{
void func1()
{
statement1;
statement2;
:
}
void func2()
{
statement1;
:
statementn;
}
}
모든 Java 소스 파일은 클래스(class)를 정의하는 것으로 시작됩니다. 클래스는 Java 객체를 생성하기 위한 일종의 템플릿으로써, JVM에 의해 객체 생성 방법을 알려주는 중요한 역할을 합니다.
클래스 안에 메소드(Method)를 기록합니다. 메소드는 클래스의 특정 동작을 수행할 수 있는 일종의 함수입니다.
작성된 Java 소스 코드는 클래스 이름과 동일한 파일 이름으로 저장되며, 확장자는 .java를 갖게 됩니다.(ex. class_name.java)
2014년 8월 12일 화요일
2014년 8월 11일 월요일
Java 개발 환경
Java를 이용해서 프로그램 개발 하기 위해서 JDK(Java Development Kit)을 설치해야 합니다. 또한, Java 소스코드의 편집과 컴파일, 그리고 실행화면을 보기 위해 console을 사용할 수도 있지만, 통합개발환경(IDE : Integration Development Envirment)를 제공하는 이클립스(Eclipse)를 사용하면 보다 편하게 개발을 수행할 수 있습니다.
먼저, JDK를 설치합니다. JDK는 오라클 사이트에서 받을 수 있습니다. 현재는 Java 8.0(Java 1.8) 버전이 공개되어 있으며, 최신 버전의Java 8.0 버전을 다운로드(Java SE 8.0 download) 받을 수 있습니다.
이제, Eclipse.org에서 이클립스 최신 버전을 다운로드 합니다. 이클립스 최신 버전인 LUNA를 다운로드(Eclipse Luna 4.4 download) 합니다.
다운로드 받은 이클립스는 zip 형태로 압축되어 있습니다. 적절한 폴더에 압축을 해제합니다. JDK 또는 일반적인 윈도우 프로그램과 다르게 압축을 해제하면 별도의 설치 과정 없이 바로 eclipse를 실행할 수 있습니다. 압축이 해제된 폴더에 보면, "eclipse.exe" 파일이 실행 파일입니다.
먼저, JDK를 설치합니다. JDK는 오라클 사이트에서 받을 수 있습니다. 현재는 Java 8.0(Java 1.8) 버전이 공개되어 있으며, 최신 버전의Java 8.0 버전을 다운로드(Java SE 8.0 download) 받을 수 있습니다.
download 받은 JDK를 실해해서 시스템에 설치합니다.
이제, Eclipse.org에서 이클립스 최신 버전을 다운로드 합니다. 이클립스 최신 버전인 LUNA를 다운로드(Eclipse Luna 4.4 download) 합니다.
다운로드 받은 이클립스는 zip 형태로 압축되어 있습니다. 적절한 폴더에 압축을 해제합니다. JDK 또는 일반적인 윈도우 프로그램과 다르게 압축을 해제하면 별도의 설치 과정 없이 바로 eclipse를 실행할 수 있습니다. 압축이 해제된 폴더에 보면, "eclipse.exe" 파일이 실행 파일입니다.
2014년 8월 10일 일요일
Java 가상머신
Java와 크로스 플랫폼
Java는 크로스 플랫폼(Cross-platform) 프로그래밍 언어입니다. 다시 말하면, Java를 이용해서 만든 프로그램은 어떤 플랫폼에서나 동일하게 동작한다는 이야기입니다. 이것은 매우 중요한 특징입니다. 예를 들어, Microsoft Windows 운영체제를 사용하는 컴퓨터에서 개발된 프로그램은 Unix 또는 Mac OS에서는 실행되지 않습니다. 특정 운영체제 또는 CPU 아키텍쳐에서 개발된 소프트웨어는 해당 플랫폼에서 사용되는 명령어 기반으로 바이너리가 생성되기 때문입니다. 하지만, 멀티 플랫폼(Multi-platform) 소프트웨어는 운영체제를 가리지 않고 시스템에 독립적으로 여러 플랫폼에서 동작할 수 있도록 만들어집니다. Java는 그러한 크로스 플랫폼 동작 특성을 보장하는 소프트웨어를 개발할 수 있는 프로그래밍 언어입니다.Java로 만들어진 소프트웨어가 여러 플랫폼에서 동작할 수 있도록 하는 매커니즘을 Java 가상머신(JVM : Java Virtual Machine)이 제공합니다.
Java 코드의 실행과 JVM
자바 프로그램을 개발하는 과정은 다음과 같습니다.- 소스 코드 작성 : 원하는 동작을 수행하는 프로그램을 Java 문법으로 코딩을 합니다. 이때, eclipse와 같은 개발환경이 사용됩니다. 소스코드는 확장자가 .java로 만들어 집니다.
- 소스 컴파일 : .java로 작성된 소스 코드를 자바 컴파일러(javac)로 바이트 코드를 생성합니다. 바이트 코드는 .class 확장자를 갖는 파일로 생성됩니다. .java 소스 파일에 존재할 수 있는 문법적 오류를 모두 해결해야만 javac 컴파일러는 바이트코드 .class 파일을 정상적으로 생성할 수 있습니다.
- 바이트 코드의 실행 : .class 파일을 실행합니다. java 바이트 코드를 실행하기 위해서는 JVM이 필요합니다. 시스템에 설치된 JVM은 입력된 .class 파일의 바이트 코드들을 해석하고, 플랫폼에 맞도록 동작을 수행하게 됩니다.
2014년 8월 9일 토요일
JAVA란?

Java 특징
Java(자바)는 크로스 플랫폼(Cross-Platform) 환경에서 사용할 수 있는 프로그래밍 언어입니다. 크로스 플랫폼 또는 멀티 플랫폼(Multi-Platform)은 이종의 CPU 아키텍쳐(Architecture)에서 소프트웨어가 동일하게 동작할 수 있다는 것을 의미하는 용어입니다.이렇게 이종의 플랫폼에서 실행될 수 있는 소프트웨어를 크로스 플랫폼 소프트웨어라고 합니다. Java는 가상머신(JVM : Java Virtual Machine)을 이용해서 크로스 플랫폼 동작을 보장합니다.원시 코드(Source Code)는 Java 컴파일러에 의해 바이트 코드로 변환됩니다. 그리고 플랫폼에 설치된 Java 가상 머신에 의해 Java 바이트 코드가 실행됩니다. 따라서, 한번 작성된 Java 코드가 모든 플랫폼에서 동일하게 동작하기는 하지만, 직접 기계어를 실행하는 다른 컴파일러 언어보다 대체적으로 수행 속도가 떨어지곤 했습니다. 하지만, 최근 버전의 Java 가상머신은 보다 빠른 수행 속도를 보이기도 합니다.
Java는 객체지향 프로그래밍 언어입니다. Java의 개발은 처음부터 객체지향언어를 목표로 설계되었으며, C언어와 C++를 기반으로 하였기 때문에 문법적 특징이 많이 유사합니다. 하지만, 몇 가지 큰 차이점을 가지고 있습니다.
C언어 처럼 메모리를 대상으로 번지(Address) 연산을 수행할 수 없습니다.
할당된 메모리의 해제를 주기적으로 한번에 수행하는 Garbage Collection을 수행합니다.
C++처럼 다중상속을 허용하지 않습니다.
Java 역사
1991년 썬 마이크로시스템즈(SUN Microsystems) 제임스 고슬링(James Gosling)에 의해 개발되었으며, 객체지향 프로그래밍 언어로써 개발되었습니다. SUN은 현재 오라클(Oracle)에 인수되었기 때문에, Java 또한 오라클에서 개발 및 배포되고 있습니다. 초기 개발 목표는 PC가 아닌 전자가전제품에 사용될 수 있는 프로그램 개발을 위한 언어였지만, 현재는 PC 뿐만 아니라, 셋탑, Android 스마트 폰 등 많은 플랫폼에서 사용되고 있습니다.1995년 Java 1.0이 무료로 배포되었으며, 많은 에러를 수정하고 기능이 보강된 후속 버전의 Java 1.2가 몇해 후 발표 되어 많이 사용되게 되었습니다. Java 1.2 버전은 다양한 플랫폼에서 사용할 수 있도록 설정 기능이 보강되었습니다. 이때부터, J2SE - Java SE(Standard Edition), J2EE - Java EE(Enterprise Edition), J2ME - Java ME(Macro Edition)으로 나누어 배포되고 있습니다. 흔히, Java라고 하면, Java SE 버전을 의미하며, JDK(Java Development Kit)을 포함합니다.
Java의 기능이 대폭 강화된 1.2 버전이 마이너 업그레이드 느낌이 강해서 Java 2.0으로 이름이 변경되었으며, Java 1.5 버전은 5.0, 그리고 현재, Java 8 버전까지 배포되고 있습니다.
피드 구독하기:
글 (Atom)