생성자, 상속, 오버라이딩

|
초기화 : 변수가 메모리 할당을 진행하는 동시에 값을 설정하는 것
생성자 : 인스턴스가 생성되는 동시에 값을 설정하는 것

디폴트 생성자 : 프로그래머가 생성자를 명시적으로 만들지 않아도 자바 컴파일러가 제공해 주는 생성자. 모든 클래스에 적용
public ClassName() { }
단, 프로그래머가 생성자를 하나라도 생성하였을 경우에는 제공되지 않는다. 따라서 인자가 없는 생성자를 사용하는 경우 반드시 작성해 주어야 한다.

this() 생성자
같은 클래스 내의 생성자가 다른 형태의 생성자를 호출할 때 사용
반드시 다른 어떤 메소드보다 먼저 호출되어야 한다. (변수 대입은 상관없는가?)
* 생성자 내부의 첫 문장으로 this()가 기술되어야 한다.
* this()는 생성자에서만 사용할 수 있다.

오버라이딩할 때 상속받은 메소드도 포함하여 작성하기
super.method();

상속에서의 super() 생성자
명시하지 않아도 자동적으로 호출된다.
이 때, 부모 클래스에서 인자가 있는 생성자가 있다면 반드시 인자가 없는 생성자를 명시해 주어야 한다.
왜냐하면 자식 클래스에서 인자가 없는 생성자를 쓸 수도 있기 때문이다.

슈퍼 클래스에 인자가 있는 생성자만 존재하는 경우에는 super(인자)로 직접 호출해야 한다. 첫문장으로 기술되어야 한다.

인터페이스가 인터페이스를 상속받을 때에는 extends를 쓴다.


'diff C++ Java C#' 카테고리의 다른 글

언어별 코드  (0) 2010.08.21
클래스간의 형변환  (0) 2010.08.18
And