Day010 Overriding + Overloading + 생성자
개발 Programming/JAVA2009. 6. 19. 15:45
Overriding
- 재정의, 인자는 똑같아야 하고 ,리턴 유형은 호환 가능해야 한다.
똑같은 유형이거나 하위 ㅡㅋㄹ래스 유형을 리턴하도록 선언해야 한다.
메소드를 더 접근하기 어렵게 만들면 안됌
+ Overloading
- 중복, 리턴 유형이 달라도 된다. 인자목록만 다르다면..
public void eat()
public void eat(String s)
public String eat(String s , String d)
생성자
- 생성자에는 객체를 생성할 때 실행되는 코드가 들어있음. 즉 유형에 대해 new 키워드를 사용했을 때 실행
생성자는 상속 안됌, 생성자가 두개 이상이면 각 생성자의 인자 목록은 반드시 서로 달라야 함. 프로그래머가 직접 기본값을 지정 하지 않아도 인스턴스변수에 기본값이 지정 되는 점이 좋음~
상속 계층내에서 생성자의 관계
- 새로운 객체를 만들 때 객체의 상속 트리에 들어있는 모든 생성자가 실행되어야 한다.
생성자 연쇄 (constructior chaining)
- 개발자가 직접 상위 클래스의 생성자를 호출안하면 컴파일러가 알아서 처리해줌 단, 인자가 없는 형태의 생성자를 사용 super()
모든 생성자에는 super()혹은 this()를 호출하는 선언문이 들어갈 수 있지만, 둘다 사용할 수 없음. 이 둘은 항상 생성자의 첫번째 선언문으로만 사용할 수 있음.
class Animal(){
public Animal(){
}
class Cat extends Animal{
public Cat(){
super();
}
}
this 와 super
- 다른 오버로드된 생성자를 호출할 수도 있고 , 상위 클래스의 생성자를 호출할 수도 있음
모든 생성자는 한개만 선언 맨 위에 선언해야 한다.
this 와 super
- 다른 오버로드된 생성자를 호출할 수도 있고 , 상위 클래스의 생성자를 호출할 수도 있음
모든 생성자는 한개만 선언 맨 위에 선언해야 한다.
'개발 Programming > JAVA' 카테고리의 다른 글
Day012 Concrete class(구상 클래스) + Abstract class(추상클래스) + interface (0) | 2009.06.24 |
---|---|
Day011 요약정리 상속 + 실행 + 인스턴스 + 다형성 (0) | 2009.06.22 |
Day009 객체 지향 + 메모리저장공간 +오버로딩 + 상속 + 오버라이딩 + 클래스다형성 (0) | 2009.06.18 |
Day008 클래스+객체+인스턴스? (0) | 2009.06.17 |
Day007 == + 문자열값 확인 + Enum (0) | 2009.06.16 |
댓글()