[24.06.20] JAVA_상속

ANGELA·2025년 1월 8일

[KB]학습내용정리

목록 보기
4/57

01. UML : 표준 도식화

기호

  • 클래스 : 사각형
  • 상속 : 삼각형 화살표
  • 사용(use) : 그냥 화살표 → 사용하는 클래스는 사용되는 클래스(의존객체)에 의존한다
  • 강결합이냐, 연결합이냐 → 다이아몬드 색 채워져있냐, 없냐
  • 실선 → 고정되어있다. 상시적
  • 점선 → 멤버 변수 고정 안됨, 일시적 / 지역변수로 사용하겠다 / 매개변수

02. 개념

- 키워드 : extands

  • inheritance 안쓰는 이유 : 확장개념이라서 → a를 확장해서 b를 정의하겠다.

- 용어

  • 부모 (parent) 상위(super)
  • 자식(child) 하위

- 부모는 1개만가능

- 코드 재사용 아주 쉽게 할 수 있다

03. 호출

- 순서 : 스택 → 자식 → 부모

  • 스택에서 부모 바로 못간다.
  • 자식 호출해도 부모 인스턴스 같이 만들어져서, 같이 호출되는 개념
  • ★일반적으로 기본 생성자 무조건 만든다.

- 부모생성자를 먼저 호출한다.

- super() → this() : super를 제일 앞에 써야한다.

04. 재정의

@override : 오버라이딩 체크

  • 주석인데, 컴파일에게만 알려주는 주석
  • 코드에는 영향 없다

05. 자동타입변환

upcasting : 부모 = 자식 → 가능

downcasting : 자식 = 부모 → 불가능 → 강제 형변환 해줘야한다.

★ 자바는 실체가 중요하다

06. 다형성

상속을 기본으로 이루어진다.

  • car는 tire에 의존한다.
  • car는 tire를 사용한다.

설계문서 : 클래스 다이어그램

  • 소스코드 : 부록
  • 코드리뷰할때, 클래스 다이어그램으로 한다.

다형성의 패턴

  • 위 클래스 다이어그램 나오면 다형성이구나라고 생각하면 된다.

강결합/연결합

  • 결합도(약하게 연결시켜라)는 낮추고, 응집도(단일책임원칙:한가지 일만 해야한다)는 높여야한다.
  • 연결합을 추구한다.

DI : 의존객체를 주입받는다 → 약한결합

07. 추상 클래스

  • 공통점 뽑아서 분류 위해서 선언한 클래스 → 참조 클래스
  • new 로 만들면 안돼! → 키워드준다

키워드 : astract

  • 참조용으로 쓰겠다. 인스턴스 만들지 못한다.
  • 자식 클래스 만들고 인스턴스 만들어야한다.

필드에 대해서

메서드에 대해서

  • 부모 : abstract / sound() → 반드시!
  • 자식 : abstract / sound() → 반드시!

★ 오늘 중요한 것

다형성
전략패턴
객체지향 원칙 2가지

1) OCP : 기능 확장, 수정발생하면 안된다
기능확장은 자식에서 이루어진다.
사용자쪽에서 수정 사항 없다.
2) SRP : 단일책임원칙


08. 오후수업

추상클래스

  • 큰 범위니까 더이상 만들지말고, 더 세부적으로 나눠서 만들어라
  • 상속받아서 만들어라
profile
혼자 보려고 만든 기록장 | 또또는 귀여워 🐈‍⬛

0개의 댓글