| [ WWW ] in KIDS 글 쓴 이(By): seasons (오히려전법) 날 짜 (Date): 1996년08월26일(월) 10시23분53초 KDT 제 목(Title): WWW 강좌 10 : Java 배우기 (21) A.Fun.A.Day(397) WWW 강좌 10 : Java 배우기 (21) ----------------------------------------------- < 자바 백서 > 계속 ⊙ 다중 상속(Multiple Inheritance)과 인터페이스(Interface) 자바언어는 다중상속과 그로 인한 모든 문제를 제거했다. 다중상속의 바람직한 특성은 개념적으로 Objective C 규약과 유사한 인터페이스를 통해 제공된다. 인터페이스는 객체의 정의가 아니다. 하나 이상의 객체가 구현된 메쏘드 집합의 정의라 할 수 있다. 중요한 인터페이스의 관심은 메쏘드만을 선언한다는 것이 다 - 일반적으로, 상수인 final변수를 제외하고 어떤 인스탄스 변수도 인터페 이스 안에 선언될 수 없다. ⊙ Goto 문장이 드디어 사라지다 자바언어에는 goto가 없다. (goto는 여전히 예약어지만, 아무 일도 하지 않는 다) 연구는 goto가 있기 때문에 간단하게 사용하는 것보다는 더 더욱 자주 잘못 쓰여진고 있음을 설명한다. goto의 제거는 언어의 간결함으로 된다 - 예로써 for문장의 중간으로 goto하는 것 같은 규칙은 없다. 위에서 언급했듯이, 다중단 계 break와 continue는 goto문의 필요를 제거했다. ⊙ 연산자 중복(Operator Overloading) 자바에는 C++값은 연산자 중복이 없다. ⊙ 자동적인 강제대입(Automatic Coercions) 자바언어는 C와 C++과 같은 강제대입을 금지한다. 한 데이터 요소를 정확성에서 손실을 보는 다른 종류의 데이터로 강제 대입하려면, 명백히 캐스트(Cast)를 사용해야 한다. 다음의 코드를 보자: int myInt ; float myFloat = 3.141592 ; myInt = myFloat ; myFloat에서 myInt로 대입은 정확성의 손실이 일어날 수 있다는 컴파일러 경고 를 발생한다. 다음처럼 올바르게 다시 써야 한다: int myInt ; float myFloat = 3.141592 ; myInt = (int) myFloat ; ⊙ 포인터(Pointers) 대부분의 연구는 포인터가 프로그래머로 하여금 원시코드에 버그를 만들게 하 는 주요한 특성임에 동의한다. 구조체가 없어지고, 배열과 문자열이 객체로 주 어지면, 이런 구조에서 포인터의 필요성은 사라진다. 따라서 자바언어에는 포인 터가 없다. C에서 배열과 구조체, 포인터를 필요로 하는 어떤 작업도 자바언어 에서 객체와 객체의 배열을 선언함으로써 쉽고 신뢰할 수 있게 수행된다. 2.4요약 지금까지 자바언어가 무엇인가 이해한 이 장을 요약하면 다음과 같다: ① 간결성 - 일을 끝내기 위해 이해할 필요가 있는 언어 구조의 숫자가 최소이다. 객체지향 - 개선된 소프트웨어 개발 사례 및 실제를 소프트웨어 개발에 이용 할 수 있다. 익숙함 - C와 C++의 전반적인 난해함을 제거하고도 자바언어는 C와 C++ 과 비 슷하다. -- ___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 |