728x90



1. 자바는 어떤 식으로 돌아갈까요?
소스 - 컴파일러 - 결과물(코드) - 가상머신

1) 소스
- 개발자가 소스 작성.
2) 컴파일러
- 소스를 컴파일러로 처리.
3) 결과물(코드)
- 컴파일러에서 자바 바이트코드를 만듬.
- 자바를 돌릴 수 있는 모든 장치에서 이 파일을 뭔가 실행시킬 수 있는 형태로 해석.
- 컴파일 바이트코드는 플랫폼에 무관하게 사용.
4) 가상머신
- 자바 가상 머신으로 바이트 코드를 실행


컴파일러란?
고수준의 언어를 저수준의 언어로 옮기는 것. 
원시코드를 목적코드로 옮기는 과정 컴파일이라 한다.
프로그램의 오류를 확인 하고, 제대로 만들어진 경우에만 최종 결과를 만들어 줌.
* 자세한 내용은 위키백과 참고
: http://ko.wikipedia.org/wiki/%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC

자바 바이트코드(bytecode)란?
자바 가상 머신이 실행하는 명령어 형태.
플랫폼에 독립적임.
기계어가 아닌 중간단계의 바이트코드 형태로 변환되는 관계로, 역컴파일러 혹은 디컴파일러라고 불리는 실행코드를 역으로 추적하는 프로그램에 취약.
* 자세한 내용은 위키백과 참고
: http://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EB%B0%94%EC%9D%B4%ED%8A%B8%EC%BD%94%EB%93%9C

자바가상머신(JVM:Java Virtual Machine)이란?
자바 바이트 코드를 실행하는 주체.
모든 자바 가상 머신은 자바 가상 머신 규격에 정의된 대로 자바 바이트코드를 실행.
스택 기반.
가베지 컬렉션 사용.
* 자세한 내용은 위키백과 참고
http://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EA%B0%80%EC%83%81_%EB%A8%B8%EC%8B%A0



2. 자바의 역사
자바 1.02 - 자바 1.1 - 자바 2(버전 1.2 ~ 1.4 이후) - 자바 5.0(버전 1.5 이상)

1) 자바 1.02
- 클래스 개수 250개
- 느림
- 애플릿을 만들기 위한 용도로 많이 쓰임
2) 자바 1.1
- 클래스 개수 500개
- 약간 빠름.
- GUI 코드 향상.
- 많이 사용되기 시작.
3) 자바 2
- 클래수 개수 2300개
- 훨씬 빠름
- 네이티브 고유 코드와 거의 같은 속도로 실행 되는 경우도 있음
- J2ME, J2SE, J2EE의 세종류로 분리
- 엔터프라이즈 및 모바일 애플리케이션의 주력 언어
4) 자바 5.0
- 클래수 개수 : 3500개
- 개발하기 편해짐
- 다른 언어에서 많이 쓰이던 새로운 기능 추가


애플릿이란?
컴퓨터 프로그램과 달리 독립적으로 실행 될 수 없음.
애플릿의 예로 자바 애플릿, 플래시 동영상 등.
* 자세한 내용은 위키백과 참고
http://ko.wikipedia.org/wiki/%EC%95%A0%ED%94%8C%EB%A6%BF

네이티브 코드(native code)란?
프로세서별 기계어 코드로 컴파일된 코드입니다.
CLR을 통해 컴파일된 실행가능한(.EXE)코드 를 말한다.

J2ME(Java 2 Micro Edition)란?
모바일 기기나 휴대기기 등 소형장비에 사용.
* 자세한 내용은 java.com 참고
http://www.java.com/ko/download/faq/whatis_j2me.xml

J2SE(Java 2 Standard Edition)란?
기본적 자바 개발, 실행 환경
로컬프로그램, 클라이언트 프로그램에 주로 사용.

J2EE(Java 2 Enterprise Edition)란?
서버의 위치에서 많이 사용

* J2ME, J2SE, J2EE 자세한 내용은 블로그 참고
http://secrys.tistory.com/entry/J2SE-J2EE-J2ME-%EB%9E%80



3. 자바 코드의 구조
소스파일 - 클래스 - 메소드 - 선언문
소스 파일 안에는 클래스가 들어가고, 클래스에는 메소드가 들어가고, 메소드에는 선언문이 들어간다.

JVM에서는 main 메소드의 중괄호 안의 있는 것을 모두 실행시킴
모든 자바 애플리케이션에는 최소한 크랫스 한 개가 있어야 하며 적어도 main 메소드 하나가 있어야 함.(클래스마다 하나씩이 아니고 애플리케이션마다 하나씩)
프로그램을 실행 시킨다는 것은 사실 클래스를 실행 시키는 것.
프로그램 실행을 위해서는 반드시 main() 메소드가 필요.



4. 자바 구문

자바에는 while, do-while, for의 세 가지 표준 순환 구조.

대입 연산자는 등호 한 개로 구성, 동치 연산자는 등호 두 개로 구성

system.out.print는 같은 행에 계속 출력
system.out.println은 줄 바꿈 println은 printnewline의 약자

728x90

+ Recent posts