본문 바로가기
자바과정/스터디

Java 기초 - 6일차

by Parkej 2021. 2. 4.

- 구조 이해

클래스 관계 (Is ~ A)
순서

- 호출 순서 참고 사이트

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

댓글