WWW

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ WWW ] in KIDS
글 쓴 이(By): seasons (오히려전법H)
날 짜 (Date): 1996년08월21일(수) 14시17분09초 KDT
제 목(Title): WWW 강좌 10 : Java 배우기 (17)



A.Fun.A.Day(393) WWW 강좌 10 : Java 배우기 (17)
-----------------------------------------------



< 자바 백서 > 계속

   ⊙ 컨스트럭터와 종결자 (Constructors and Finalizers)

   자바언어에서 클래스를 선언하면, 그 클래스로부터  객체를 만
   들 때, 초기화를  수행하는 최적화된 컨스트럭터를 선언할 수 
   있고, 쓰레기 수집기가 객체의 해제를  할 때, 꼭 필요한 해체
   를 하는 최적화된 종결자 또한 선언할 수  있다. 콘스트럭터를 
   나타내는 최소한 된 코드를 보자.
   
   public final class Integer extends Number {
      private int value
      public Integer(int value) {
         this.value = value ;
      }
   }
   
   이 예제는 Integer  클래스를 선언한다.  자바언어의 바탕에는 사실 
Integer클래스가 있다 - 그것은 객체의 안쪽에서 정수 값을 캡슐화할 때 
필요한 객체 포장이다. 퍼블릭 메쏘드 Integer는 this 클래스의  컨스트
럭터이다. 다음과  같은 선언을 통한 코드로 123이라는 값으로 초기화되
는 Integer 클래스의 새로운 객체를 생성하고 접근할 수 있다.
   
   Integer  myIntegerObject = new Integer(123) ;
   
   어쨌든, 위의 예제에서 this라는 값은 도대체 무엇인가 ? 객체 자신을 
가리키는 방법이 필요할 때, 객체의 내부로부터 클래스의 this 인스탄스를 
가리키는 특별한 이름이다.   this 값이 얻는 것이 바로 그것이다.
   이 코드는 클래스의 종결자 메쏘드(finalize  method)를 설명한다.
   
   /**
   * Close the stream when garbage is collected.
   */
   protected void  finalize() {
      try {
         close() ;
      } catch(Exception e) {
      }
   }
                                                                  
   이 종결 메쏘드(finalize method)는 쓰레기가 수집될 때쯤 해서 호출
된다.  특정한  코드에서,  종결   메쏘드는 거의   스트림(stream)을 
관리하는 파일기술자(file  descriptor)가 닫히는 것을 확실히 하는 객체
에서 쓰이는 I/O 파일 스트림을 닫는다.
   
   ⊙ 하위클래스를 만들자(Subclassing)
   
   하위클래스를 만드는 것은 새롭고 강화된 객체를 존재하는 객체를 통해 
정의할 수 있는 메커니즘이다. 예로, zebra는 얼룩말이다. zebra의 객체를 
생성하려면, zebra는 말(Horse)의 종류이면서, 오직 얼룩말이다. 객체지향의 
관점에서, 말의 하위클래스인 Zebra라 불리는 새로운 클래스를 생성할 수 
있다. 자바언어의 관점에서, 다음처럼 한다:
   
   class Zebra extends Horse {
      새로운 인스탄스 변수와 새로운 메쏘드를 여기에 적는다
   }
   
   어디에서 정의되었든 말의 정의는 먹고,  울고, 총총 걸어가고, 뛰어다니며,
 껑충 뛰는 등의 말의 행동을  설명하는 모든 메쏘드를 정의했을 것이다. 
모든 일을 하는 이미 작성된 코드의 이익을 얻을 수 있다 - 바뀌나, 이 경우 
발굽을 새로  고안할 필요가 없다. extends 키워드는  Zebra가 말의 하위  클래
스임을 자바컴파일러에게 알려준다.  Zebra는  유도된 클래스(derived class)라 
불린다 - 베이스 클래스인 말에서 유도된 것이다.
   
   하위클래스화는 이미 개발되어지고, 더욱 더욱  특수한 경우를 위해 더욱 더 
중요하고 테스트된 코드를 사용할 수 있게 한다.  특수한 행동을 위해 필요한 
클래스의 부분은 겹치게(override) 할 수 있다.  따라서 하위 클래스화는  설계
와 개발, 테스트를 저장한 존재하는 코드의 재활용성(re-use)을  얻게 한다. 
실행시스템을 지원하는 자바는 테스트되었고  또한 안전한 쓰레드(thread-safe)인 
여러  개의 유틸리티  함수(utility function)를 제공한다.
   

--
     ___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 

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.