ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 상속#2
    Java 2023. 1. 20. 18:12

     

    2023년 1월 18일/ 2023년 1월 19일/ 2023년 1월 20일

    • 단일 상속만 가능하다
    • 자식 클래스를 개체로 생성할때, 부모 클래스가 먼저 객체화 된다.
    • 모든 클래스는 Object클래스로부터 시작하는 상속관계의 하위 객체이다
    • 부모 클래스의 자원을 자식 클래스에서 사용한다라는 개념
    • 생성자는 상속이 불가능하다(생성자는 호출만 가능)
    • 부모와 자식 필드에 같은 변수가 있어도 선언을 다르게 본다
      • 자식은 this를 써서 접근 하고 부모꺼는 super를 이용해서 접근한다
    • 매서드 재정의
      • 부모 클래스의 메서드를 자식메소드에서 재정의 할 때 오버라이딩 이라고 한다(덮어쓰기)
      • 메서드 이름은 같고 파라미터가 다르면 오버로드
      • 부모가 디폴드 였으면 자식는 디폴트 이상 프로텍티드 나 퍼블릭으로 해야한다
    • 다형성
      • 타입이 조상이고 인스턴스가 자손일때
      • 선언될 타입이 조상 인스턴스가 자손
        • Car taxi = new Taxi();//다형성 선언된 타입이 조상(CAR)이고 인스턴스(new Taxi()가 자손일때
    • 추상클래스
      • 파일쪽에 A라는 식별자가 있고
      • abstract는 추상화 클래스 이므로 인스턴스 생성이 불가능하다
      • 구상화 될 필요가 없는 클래스
      • 부모가 추상클래스면 자식도 추상클래스가 되는데 추상메소드를 자식 클래스에서 메소드를 구상하면 구상 클래스(자식)이 된다.
      • 각기 다른 클래스들을 공통된걸 부모클래스를 만든걸 추상클래스라 한다
    • 추상메소드
      • abstract 키워드를 사용하여 메소드 정의를 한다.
      • 추상메소드가 하나라도 있으면 추상 클래스가 된다.

    Super

    • 자식클래스에서 변수가 없으면 부모클래스에서 변수와 값을 가져온다(부모의 값도 자식이 상속을 받는다)

    인스턴스 메소드의 호출은 현재 실행중인 인스턴스 기준으로 한다.(?)

    • 동적바인딩
      • 인스턴스가 달라질수 있어서 메소드를 호출하기 직전에 바인딩
      • 컴파일시 모름 실행시점에서 메소드를 호출하기 직전에 바인딩
    • 다이나믹바인딩
    • 정적바인딩
      • 컴파일시 값을 넣는게 정적바인딩(미리 코딩 된것들?)

    인터페이스의 다형성

    상속으로 못하는걸 수평적으로 상속받은 것

    'Java' 카테고리의 다른 글

    내부 클래스  (0) 2023.01.26
    인터페이스  (0) 2023.01.26
    상속#1  (0) 2023.01.18
    클래스 #4  (0) 2023.01.18
    클래스 #3  (0) 2023.01.18
Designed by Tistory.