본문 바로가기
  • Build Up Routine
Basic/멀티캠퍼스__AI플랫폼을 활용한 웹서비스 개발

멀티캠퍼스 AI플랫폼을 활용한 웹서비스 개발 - 11일차

by 까느.dev 2022. 4. 25.

📢day11__Java-oop3

상속(Inheritance)

  • 자식 클래스가 부모 클래스의 메버를 물려 받는 것
  • 자식이 부모를 선택해 물려 받음
  • 상속대상 : 부모의 필드와 메소드
  • 하위 클래스에서 중첩하여 필드와 메소드를 만들거나 수정도 가능하다.
  • 자바의 모든 클래스들은 Object클래스를 상속받는 default값을 같는다.
  • 부모의 클래스의 메소드와 필드를 수정해주면 자식의 클래스도 자동적으로 변경되기 때문에 유지 보수 시간을 최소화 해준다.
  • public class P288 extends Object { } // extends Object가 없어도 모든 java는 Object에서 기본적으로 상속받는다.

매소드 재정의(@Override)

  • 부모 클래스의 상속 메소드를 수정해 자식 클래스에서 재정의하는 것
  • 접근 제한을 더 강하게 오버라이딩은 불가.
    • public을 default나 private으로 수정 불가
    • 반대로 default는 public으로 수정 가능
  • `super.<부모메소드>();` 부모 메소드 호출

final 클래스와 final 메소드

  • override를 못하도록 막아버림.

final 필드 : 수정 불가 필드

final 클래스 : 부모로 사용 불가한 클래스

final 메소드 : 자식이 재정의할 수 없는 메소드

  • 상속할 수 없는 final 클래스
    • 자식 클래스가 만들지 못하도록 막아버린다.

다형성 (polymorphism)

  • 같은 타입이지만 실행 결과가 다양한 객체 타입(이동)

자동 타입 변환(Promotioon)

  • 프로그램 실행 도중에 자동 타입 변환이 일어나는 것.
  • 바로 위의 부모가 아디더라도 상속 계층의 상위면 자동 타입 변환 가능.
  • 변환 후에는 부모 클래스 멤버만 접근 가능.

추상클래스(Abstract Class)

  • 실제 존재하지않는, 그리지못하는 클래스를 추상 클래스로 만듦(ex. 동물,도형 등 특정하지않는 것들의 종.)
  • 실체 클래스의 공통된 필드와 메소드의 이름을 통일할 목적.
  • 실체 클래스를 작성할 때 시간을 절약 할 수 있음.
    • 실체 클래스는 추가적인 필드와 메소드만 선언.
  • 실체 클래스가 가져야 할 필드와 메소드를 추상 클래스에 미리정의.
    • 실체 클래스는 상속을 받아 내용을 클래스마다 다르게 재정의 가능.
  • 실체 클래스는 추상 크래스를 무조건 상속 받아 작성.

댓글