- 구조 이해
- 호출 순서 참고 사이트
burucodegallery.blogspot.com/2013/08/2-5-inheritance2-specialization.html
- 기본 코드
package Test;
// 함수는 끝나면 자신을 호출한 곳으로 돌아감.
class A{
public A() {
// super(); 부모 생성자 호출 // 오브젝트의 생성자로 감.
System.out.println("super class");
}
public A(int a) {
System.out.println(a + "2번째 생성자.");
}
}
public class IsAExam6 extends A { // extends(상속) Object를 상속받고 있음
// 디폴트 생성자
// this() 호출은 또 다른 나의 생성자 호출
public IsAExam6() {
super(10); // 4번라인, 오버로딩된 다른 생성자를 쓰고 싶을때는 이렇게 쓰면됨
// 자기가 받고있는 클래스의 생성자 호출
System.out.println("sub class");
}
public static void main(String[] args) {
IsAExam6 is = new IsAExam6(); // 실행되면 12번으로 감
// System.out.println(is.toString());
}
}
/* 5일차
*
*
* is ~ a ( ~는 ~이다.)
* : 상속
* : 엉뚱한 확장 조심
*
* is like a 관계를 가지면 안된다 (공부 필요)
*
* 상속(extends)
* 자바는 100프로 상속관계
* 자바는 객체끼리는 (클래스)단일상속만을 지원한다. ( 명확성 )
*
* 부모가 제공해주는 메소드를 통해 접근
* super class의 private member는 직접접근이 안된다.
* ( 캡슐화파괴 방지)
*
* this : 인스턴스 메소드의 첫 번째 매개변수
*
*
* super() : super call
* : super class의 생성자를 호출 (무조건 부모를 호출)
* : sub class 생성자 함수의 첫번째 라인에 항상 존재함.
* : 명시적으로 사용하고자 하는 경우는 부모의 오버로딩된 생성자중 호출하기 위해서.
*
* : 생성자는 객체 등록
* : 생성자는 무조건 불러야함 그래야 객체가 메모리에 탑재됨.
* : 그역할을 super 호출이 함.
*
*
*/
반응형
'자바과정 > 스터디' 카테고리의 다른 글
파이썬 기초 다지기 (2) | 2021.02.27 |
---|---|
스터디 3일차(this, 클래스, 실습추가) (0) | 2021.02.03 |
스터디 2일차(실습 코드 보완) (0) | 2021.02.02 |
스터디 2일차 (0) | 2021.02.02 |
스터디 1일차 (0) | 2021.02.02 |
댓글