생성자
- 생성자는 리턴값을 지정하지 않는다.
- 생성자 정의시 this()나 super()를 통해 상위 혹은 같은 클래스의 다른 상속자를 호출 할때는 생성자의 첫문장에서만 가능하다. 다른 메서드 안에서는 this()생성자를 호출할 수 없다.
- 상위 객체의 생성자로 하위객체를 생성할 수 없다.
- 상위 클래스를 상속 받은 하위 클래스를 new 키워드로 실행할 때 하위 클래스의 생성자 내에서 상위클래스의 생성자를 명시적으로 호출하지 않을 시에는 하위 클래스의 생성자 내용이 실행되기 전에 상위 클래스의 디폴트 생성자, 즉 파라미터를 가지고 있지 않은 생성자를 먼저 실행된다.
- 디폴트 생성자는 public Class();의 형태이다.
오버로딩(Overloading)
- 오버로딩의 규칙은 다음과 같다.
1) 오버로딩하는 메소드들이 같은 클래스에 존재해야 한다.
2) 같은 이름을 가져야 한다.
3) 이 메소드들은 매개변수의 형이 다르거나 개수가 달라야 한다.
4) 리턴형은 상관이 없다.
오버라이딩(Overrideing)
- 오버라이딩의 규칙은 다음과 같다.
1) 상위클래스의 메소드 이름과 일치해야 한다.
2) 상위클래스의 메소드 매개변수의 개수와 데이터형이 일치해야 한다.
3) 상위클래스의 메서드 리턴형과 일치해아 한다.
4) 상위클래스의 접근 제한자와 범위가 같거나 더 넓은 접근 제한자로 선언해야 한다.
- 상위 클래스에서 final, static, private 접근제한자로 선언된 메소드는 재정의 할 수 없다.
Posted by 홍반장