고민하는 끄적임은 반말을 쓰겠습니다!! 나의 고민에 대한 회고록 같은것이죠~!
상속하는 이유는 라이브러리를 상속받기위해서
그래서 상속하는 이유는 라이브러리를 상속을 어떻게 받을것인가? 에대한 공부의 목적
부모클래스는 라이브러리라고 생각하자
class A{
int n1;
void f1(){}
}
//A 를 상속받은 B , 클래스는 객체를 생성하지않으면 쓸모 X
class B extends A{
}
*main() {
B b = new B(); // 그래서 객체를 생성하겠다는 의지 = 클래스
}*
1.라이브러리를 가져다가 객체생성을 한다 [new같은것]
2.라이브러리 클래스에다가 설계를 추가해서 객체생성해서 프로그램 진행하는것

자식클래스는 super()을 먼저 실행해서 부모 클래스를 실행해야함
그래서 컴파일러는 super()가 없으면 알아서 집어넣어줌.
상속을받았다면 부모생성자를 먼저 생성해줘야된다는것임.
super()는 메모리 공간을 얼마나 차지하고있는지 기억해줌
super.n1 ⇒ A박스에있는 n1을 말하는 메모리 공간이구나!
이름 구분할떄 쓰는것 :this(),super()

main() {
B b = new B();
A a = new B(); // A a = new B(); 의미하는바 => 기대치
B는 A를 상속받고있기때문에 되는 문장이다.
a.f1(); 컴파일러 시점에는 A의 f1을 기대하고있음
하지만 JVM 시점에서 보면 자식에도 똑같은 f1이 있기때문에
실행 시점에서 A의 f1이 아닌 B의 f1을 출력함. [동적바인딩]
}
B bb= new a(); //이건 안됨.
부모타입 = 자식타입 ok [상속받고있어서]
자식타입 = 부모타입 no [상속X라서]
java.lang 패키지는 알아서 자동으로 import한다.
static은 상속 x
가급적이면 상위클래스들을 사용해서 동적바인딩을해라
상속하는 이유는 라이브러리를 상속받기위해서
그래서 상속하는 이유는 라이브러리를 상속을 어떻게 받을것인가? 에대한 공부의 목적
부모클래스는 라이브러리라고 생각하자
class A{
int n1;
void f1(){}
}
//A 를 상속받은 B , 클래스는 객체를 생성하지않으면 쓸모 X
class B extends A{
}
*main() {
B b = new B(); // 그래서 객체를 생성하겠다는 의지 = 클래스
}*
1.라이브러리를 가져다가 객체생성을 한다 [new같은것]
2.라이브러리 클래스에다가 설계를 추가해서 객체생성해서 프로그램 진행하는것
자식클래스는 super()을 먼저 실행해서 부모 클래스를 실행해야함
그래서 컴파일러는 super()가 없으면 알아서 집어넣어줌.
상속을받았다면 부모생성자를 먼저 생성해줘야된다는것임.
super()는 메모리 공간을 얼마나 차지하고있는지 기억해줌
super.n1 ⇒ A박스에있는 n1을 말하는 메모리 공간이구나!
이름 구분할떄 쓰는것 :this(),super()
main() {
B b = new B();
A a = new B(); // A a = new B(); 의미하는바 => 기대치
B는 A를 상속받고있기때문에 되는 문장이다.
a.f1(); 컴파일러 시점에는 A의 f1을 기대하고있음
하지만 JVM 시점에서 보면 자식에도 똑같은 f1이 있기때문에
실행 시점에서 A의 f1이 아닌 B의 f1을 출력함. [동적바인딩]
}
B bb= new a(); //이건 안됨.
부모타입 = 자식타입 ok [상속받고있어서]
자식타입 = 부모타입 no [상속X라서]
java.lang 패키지는 알아서 자동으로 import한다.
static은 상속 x
가급적이면 상위클래스들을 사용해서 동적바인딩을해라
'📚Algorithm > 간단한 Tip' 카테고리의 다른 글
| [정렬-NlogN] 합병, 힙 정렬 (0) | 2024.05.01 |
|---|---|
| [정렬-N제곱] Bubble, 선택, 삽입 정렬 (0) | 2024.04.30 |
| [문제 해결 기초] 빅오표기법과 시간복잡도....! 내가 다 해결해줄게! (2) | 2024.04.18 |
| [시뮬레이션] 2차원 배열에서 Bomb? Down! (0) | 2024.04.04 |