| [ WWW ] in KIDS 글 쓴 이(By): seasons (오히려전법) 날 짜 (Date): 1996년08월28일(수) 19시58분27초 KDT 제 목(Title): WWW 강좌 10 : Java 배우기 (23) A.Fun.A.Day(399) WWW 강좌 10 : Java 배우기 (23) ----------------------------------------------- < 자바 백서 > 계속 3.2이식성 바이트코드를 통해 인터프리트하는 첫 번째 이점은 자바 인터프리터와 실행시스 템이 구현된 어떤 시스템으로도 컴파일된 자바언어의 프로그램이 쉽게 이식된다는 것이다. 위에서 언급한 구조 중립의 관점은 이식성을 향한 중요한 행보이며, 이보다 더욱 더 나가는 것이 있다. C와 C++은 "구현에 의존하는" 많은 기본 데이터 종류를 설 계해야 하는 결점 때문에 고통받았다. 프로그램을 확실히 하는 프로그래머의 노동 (Labor)은 가장 적은 공통적인 명칭(a lowest common denominator)을 통해 프 로그래밍을 하여 어떤 구조에도 이식성이 있게 된다. 자바언어가 어떤 플랫폼에서든지 데이터 종류를 적용할 수 있는 표준행동을 정의 함으로 이런 논쟁을 없앴다. 자바언어의 기본적인 데이터 종류의 크기는 데이터 종 류에 따른 연산의 행동이 있는 것처럼 기술되어 있다. 여기에 기본 데이터 종류가 있다 : byte 8-bit two's complement short 16-bit two's complement int 32-bit two's complement long 64-bit two's complement float 32-bit IEEE 754 floating point double 64-bit IEEE 754 floating point char 16-bit Unicode character 자바언어에 부호 없는(Unsigned) 데이터가 없음을 주목하라. 위에서 설명한 데이 터 종류는 자바언어 환경이 구현된 어디에서나 표준이다. 이런 선택은 근본적으로 오늘 사용되고 있는 모든 중앙처리(Central Processor) 구조가 다음 특성을 공유하 고 있기 때문에 타당(Reasonable)하다. 위에서 언급한 특성은, 대부분의 프로세서 가 8비트와 64비트 정수형을 2의 보수형태로 지원하고, 대부분이 Single, Doub- le-precision Floating Point를 지원하는 것이다. 자바언어 실행시스템의 일부분인 라이브러리들은 이식 인터페이스를 정의한다. 예로, 추상적인 윈도우 클래스와 UNIX, Windows, Macintosh에서의 윈도우의 구현 이 있다. 자바언어환경은 새로운 구조와 운영체계로의 이식할 수 있다. 자바컴파일러는 자바언어로 작성되었다. 자바 실행시스템은 근 본적으로 POSIX에 어울리는 깨끗한 이식성 경계를 가지는 ANSI C로 작성되었다. 자바언어의 스펙(Specification)에는 "구현에 의존하는" 주석이 없다. (역주 : POSIX에는 UNIX의 표준화에 대해 IEEE에서 검토하고 있는 안이다. 유럽에서는 X-OPEN으로 검토하고 있다) -- ___o ___o ___o ___o ___o __ \\ __ __ \\ __ __ \\ __ __ \\ __ __ \\ __ (*)/ (*) (*)/ (*) (*)/ (*) (*)/ (*) (*)/ (*) +---------------------------------------------------------------------------+ | Won Geun Baek E-Mail: wgbaek@pharaoh.telecom.samsung.co.kr | | Samsung Electronics co. TEL : 02-405-1376 (7:00-18:00 Korea) | +---------------------------------------------------------------------------+ +--------------------------------------------------- | 오히려 전 / | 법 없이도 살수 있는 놈이죠. :<))* \ +----------------------------- hmh@gregory.kaist.ac.kr |