221002 잊고 있었던 상속(inheritance)

샨티(shanti)·2022년 10월 2일
1

TIL

목록 보기
120/145
post-thumbnail

하루를 마무리 하기 전, 오늘 있었던 일들을 잔잔히 되짚어봅니다.
성공과 실패의 모든 요소에서 '배울 점'을 찾아내어 기록하고,
더 성장하는 내일의 나를 위해 'action plan'을 세웁니다.

비오는 축축한 날씨.
대중교통을 이용할까? 하다가 그냥 생각도 없앨 겸 한강도 구경할 겸 차를 끌고 TDD 스터디로 향했다.
물론 주말 올림픽대로에 빗길이라... 한강을 넋놓고 구경할만한 상황은 아니었지만, 간간히 눈에 들어오는 한강을 보면서 약간 머리를 식혔다.

스터디 분량의 책을 빠르게 두 번 읽었지만 사실 무슨 내용인지 잘 감이 잡히지 않았다.
그래서 오늘 TDD 스터디를 통해서는 암호같은 이 파트를 잘 이해할 수 있었으면 하는 기대가 있었다. 그리고 다들 회고시간에 이야기했던 것 처럼 재미있기도 하고 또 좀 더 이해가 잘 되었던 것 같다.

요즘 '상속'이라는 개념이 은근히 새롭게 다가온다.
사람이 망각의 동물이란 건 정말 맞는말의 수준을 넘어 진리라고 느껴지는게..
한참 자바로 마카오뱅크를 만들 때에는 상속을 자주 접하기도 했고 또 잘 이해한다고 생각했는데, 쓰임새가 좀 드문드문 적어지거나 자주 접하지 않다보면 또 언제 배웠냐는 듯 새롭게 느껴진다.
예전에 내가 안다고 생각했던 것이 제대로 아는 게 아니기 때문이겠지.
그래서 오늘 TDD 스터디에서 봤던 상속의 개념을 하루라도 더 오래 머릿속에 남기고자 내용을 정리해본다.

상속(inheritance)

  • 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미
  • 캡슐화, 추상화와 더불어 객체지향 프로그래밍을 구성하는 중요한 특징 중 하나
  • 상속을 이용해 기존에 정의된 클래스의 모든 필드, 메소드를 물려받아 새로운 클래스를 생성할 수 있는데, 기존에 정의된 클래스를 부모 클래스(parent class) 또는 상위 클래스(super class), 기초 클래스(base class)라고도 함
  • 상속을 통해 새롭게 작성된 클래스를 자식 클래스(child class), 하위 클래스(sub class), 파생 클래스(derived class)라고도 함

자식 클래스

  • 부모 클래스의 모든 특성을 물려받아 새롭게 작성된 클래스
class Child extends Parent
  • 자식 클래스에는 부모 클래스의 '필드', '메소드'만이 상속됨. 생성자와 초기화 블록은 상속되지 않음
  • 부모 클래스의 접근 제어자가 private, default로 설정된 멤버는 자식 클래스에서 접근할 수 없음(TDD 책에서 본 protected 접근제어자가 붙은 이유!)

적다보니 하나 더 헷갈리는 부분이 있어서 추가한다. 추상(abstract)

추상(abstract)

  • 일반 클래스보다 추상적인 개념의 것을 정의. 추상 클래스는 일반 메서드가 있을 수도 있고, 추상메서드가 있을 수도 있음. 즉, 추상 메서드를 전혀 가지고있지 않거나, 또는 가지고 있을 수도 있음
// 추상 클래스 정의
abstract class ClassName

// 추상 클래스의 추상 메서드 정의
[접근제어자] abstract [return 자료형] [메서드 이름]()
  • 추상 클래스 역시 extends로 상속받음
  • 추상 클래스는 인스턴스를 만들수 없으나, 추상 클래스를 상속받은 클래스를 이용하면 인스턴스화 가능(=> 마카오뱅크 스윙 만들 때 했었던 것으로 기억...)

정말 기억은 의존할 것이 못된다 ㅎㅎ. 잘 모를 때는 잠깐이라도 검색해보고 찾아서 정리해봐야지. 몇 번을 더 정리해야 기억속에 남아있겄니.

적다보니 가장 헷갈렸던 부분이 '추상'이라는 것을 다시금 알게됐다. 아는게 아는게 아니었구나.

이번주는 레벨테스트 기간이다.
개인적으론 본인 상태가 맛이 가서 ㅎㅎ. 어찌해야 할까 걱정은 되지만, 하루 하루 마음을 다잡으며 '단 하나'라도 배워내겠다는 마음으로 시간을 투입하겠다.

담담하게. 담담하게..
힘내보자. 힘.


참고

profile
가벼운 사진, 그렇지 못한 글

0개의 댓글