본문 바로가기

Programming/JAVA

JAVA 잡다한 정리.


1. super 와 super()의 차이
   
   super는 부모 객체의 레퍼런스 값을 가지고 있는 키워드이고, super() 부모 객체의 생성자 호출을 의미한다.

    super는 자식 클레스의 생성자 함수 군현부의 맨 첫 줄에 작성되어야 한다. ( WHY? SUN 마음이겠지 )
    
    * this와 this() 도 마찬가지로 this는 객체 레퍼런스, this()는 자신의 생성자 호출 키워드로 사용된다.
       
    (  this()역시 생성자 맨 첫 줄에 작성되어야 하기 때문에 super()와 동시에 사용 되는것은 불가능하다 )
    



2. 상속에서 메소드 오버라이딩

  접근지정자 리턴형 메소드이름 ( argument ) throws 예외처리 {} 인 경우
  
  접근지정자는 더 넓은 범위로만 변경가능, 리턴형, 메소드이름,  argument는 변경 불가능 , 예외처리는 변경가능.
  
  example)  protected void setName(String name) throws Exception  {}

           =>  pulblic or protected void setName(String name) throws IOException {}  과 같이 오버라이딩 가능.




 3. final class ( ex. public final class class_name ) const 와 비슷한 의미.
  
   final class 는 하위 클레스의 상속을 거부하는 최종 클레스의 의미를 가진다. 
   값을 단 한번만 초기화 할 수 있는 특징이 있다.
   
   하위 클레스가 상속을 받아서 임의로 변경하는 것을 막는다.
   맴버변수는 자동 초기화가 되지 않기 때문에 일반적으로 생성자에서 초기화를 시켜준다.

   final 변수는 public final int ID_NUMBER = 1234; 와 같은 방법으로 선언하며, 초기화된 값을 변경시킬 수 없다.
   final 변수는 모두 대문자로 표기하고 _ 를 이용해서 단어를 구분하는 것이 관례이다.

   final 메소드는 public final void setName() 등으로 사용한다. 
   final 메소드는 오버라이딩이 불가능 하며, 보안성의 이유로 사용된다.

   
  
   



'Programming > JAVA' 카테고리의 다른 글

JAVA Wrapper 클레스 , static 키워드  (0) 2010.02.19
JAVA 다형성에 관해..  (0) 2010.02.18
JAVA 배열  (0) 2010.02.11
SPRING framework 에 대하여 ..  (0) 2010.02.11
JAVA 문법 Part 1  (0) 2010.02.03