자바의 상속

두부링·2024년 12월 18일

java

목록 보기
5/13

복습

메서드를 사용할려면 객체를 생성하고 이용해야 한다!

자바

git으로 자바파일 관리하기

  • gitignore : git이 무시하는 파일

    <gitignore 리스트 도움 홈페이지>
    https://www.toptal.com/developers/gitignore

  • git restore . : 스테이지에 올린 것을 내린다!

  • working tree clean : 꺽세 표시 없음

  • git은 빈 파일을 변경사항으로 인식하지 않는다!
    if 빈 폴더도 만들어지게 하고 싶으면? 폴더 안에 .gitignore를 만들고 아무것도 작성X

다른 브랜치로 checkout을 하면 worktree clean한 상태로 넘어가야 함

Bike

  • tmp는 for문 안의 i의 흐름으로 돌아가면 사라짐
  • 반복문을 돌면서 사라렸다가 나타났다가 함

    for문 안에서만 존재하는 변수는 {}을 나오면 사라진다!

확장 for문

for ( 배열에 저장된 type tmp: 배열참조) {
	
   }

축약 for 문도 for문이다.

배열 생성

  1. 배열의 참조값만 있고 그 안의 요소는 null or 0
  2. 요소에 객체를 넣으면 그 객체의 참조값이 넣어짐
  3. 요소의 객체의 메서드를 이용함

배열 생성 시 배열만 참조값을 갖고 요소는 null 혹은 0이다.
그 배열 안의 요소에 객체를 생성해서 넣는다

extends(상속)

"자식은 부모의 메서드를 사용 가능하다!"
"type = 설명서"

  • 상속의 관계
    Object <- Phone <- HandPhone
  • 부모의 메서드를 모두 사용 가능함

상속과 매개변수로 객체의 참조값을 받은 경우의 차이점
상속 : 클래스간 공통 동작 및 확장하는 경우
객체 연동 : 직접적인 관계 없이 서로 연동만해서

다형성

- 타입 지정 = 사용 설명서
- 모든 기능을 사용할 수 있지만 사용 설명서가 구려서 사용할 수 없는 것!

우리는 설명서에 작성된 내용만 사용 가능하다!
부모를 객체 앞에 작성할 수 있다.

어떤 걸을 new 했는지 중요한 이유?
예를 들어 타입은 빵의 포장지, 객체는 도넛이면 도넛에 맞는 포장지를 입히면 된다!

casting 연산자

08-test.main-MainClass07
- 다운캐스팅 : 부모 클래스의 객체를 자식 클래스의 객체로

  • compile에서는 오류가 안나도 실행할 때 오류가 발생할 수도 있음

부모클래스의 객체를 자식 클래스의 객체로 다운시킨다!

부모 객체의 기능을 다 사용할 수 있음

  • 만들어진 객체

  • 만들어진 객체 안에 부모 객체들도 모두 만들어졌음
  • 그래서 부모 객체들의 메서드를 모두 사용 가능

자식은 상속만 잘 받으면 쉽게 부모들의 객체 안의 메서드로 기능을 이용할 수 있다.

super.

  • 부모클래스의 메서드를 활용하거나 확장하는 수단

override(오버라이드)

  • 덮어 작성함
  • 부모의 기능에서 내가 원하는 대로 수정이 가능함!

super()

  • 부모 생성자에게 전달
  • 최우선적으로 전달해야 함

    부모에게 ()-필요한 요소를 전달한다.

접근 지정자 범위

  • public : 어디에서나 접근 가능
  • protected : 동일한 패키지 안 + 자식 관계
  • defalt : 동일한 패키지 안
  • private : 동일한 static 영역과 heap 영역 안에서만 접근 가능함!

어디까지 접근을 가능하게 할 것인가?
그니께 private는 static 영역의 한 클래스 내에서 움직이고 한 객체내에서만 사용 가능

Object

  • 자바의 모든 데이터

사용 설명서 변경

type casting

static

객체를 안 만들고 클래스명으로 사용 가능하다!


  • main 메서드, usePhone 메서드는 static 영역에 올라가고 접근은 클래스명으로 한다. 왜냐면 메서드는 단독으로 존재할 수 없기에

생각하기 어려우면 static영역의 상자를 생각해보자
static은 클래스명으로 접근을.
근데 this는 객체의 참조값을 나타내기에 사용 불가

자바에서는...

꼭 타입에 맞는 객체를 보내줘야 하는데 그게 자신이 아니라 자식타입일 수도 있음

<헷갈>
1. git restore . : 스테이지에 올린 것을 내린다!
git restore .의 역할
스테이징 영역에 올린 변경 사항을 작업 디렉토리로 내립니다.
작업 디렉토리의 변경 사항은 유지됩니다.
즉, 스테이징 영역에 올린 것을 "스테이징에서만 제거"하고, 해당 변경 사항을 그대로 작업 디렉토리에 남겨둡니다.

  1. git의 reset파트
profile
하이하잉

0개의 댓글