[TIL]20220720

god1hyuk·2022년 7월 21일
1

TIL / WIL

목록 보기
6/30

1. CS스터디

  • 프로세서
  • 주기억장치(ROM, RAM)
  • 보조기억장치(HDD, SSD)

2. 자바 class 문법 공부

항해99 2주차 과제에 필요한 class 문법에 대하여 "생활코딩"님의 강의를 시청하였다.

  • 객체지향 프로그래밍에 대한 이해
  • 클래스, 인스턴스 그리고 객체
  • 클래스 멤버, 인스턴스 멤버에 대한 이해
  • 클래스 기본 문법
  • 상속
  • overridin과 overloading

3. 항해99 2주차 과제

class문법을 사용하여 대중교통 상위 class와 버스와 택시 하위 class를 만들어 시나리오 대로 값을 출력해 내는 것이 2주차 미션이었다.

공통적으로 사용 되는 멤버들은 부모 클래스에 정의했다.
나머지 각자 쓰일 멤버들은 자식 클래스에 개별적으로 선언했다.

공통으로 사용 될 요소들은 부모 클래스에서 정의 해뒀다 했는데 자식 클래스에서 "상속(Inheritance)"을 받아 부모의 유전을 물려받을 수 있다.

예를 들어 대중교통이라는 부모 클래스에는 버스, 택시의 공통 항목인 속도, 탑승인원, 주유량 등을 선언한다. 버스, 택시 각각에 해당하는 최대 탑승 인원, 이용 요금 같은 것들은 각각의 자식 클래스에 정의 한다. 변수들로만 살펴보았을 때는 이러한데 메소드 같은 경우도 마찬가지로 달리다, 멈추다, 연료를 채우고, 속도를 올리고 낮추고 이런 액션들은 또 공통으로 사용될 수 있다.

만약 부모에서 정의한 메소드가 상속 받은 자식 클래스에서 조금 더 기능이 추가 되는 경우에는 메소드를 *오버라이딩(overriding) 하여 더 추가 된 기능으로 메소드를 활용할 수 있다.

이렇게 부모 클래스에 이러한 아주 기본적이고 공통적인 멤버들을 가지고 있다면 버스, 택시 이 외에도 또 다른 대중교통 수단을 부모 클래스에서 상속 받아 자식 클래스로 만들어 사용할 수 있다. 이러함을 위해 클래스를 사용한다고 생각하면 된다.

내일 오버라이딩(overriding)과 오버로딩(overloading)의 개념에 대해서 살펴볼 예정이다.

0개의 댓글