본문 바로가기
Memo/BootCamp : TIL

[Day 19] Java - 객체지향 프로그래밍 심화

by 달의 조각 2022. 7. 11.

학습 주제

 

상속성
캡슐화

 


 

2021.12.16 - [Back-End/Java] - 객체지향 프로그래밍 Ⅱ

 

객체지향 프로그래밍 Ⅱ

이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 상속 생성자와 초기화 블럭은 상속되지 않는다. (멤버만 상속) 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.

cookiee.tistory.com

 

기억할 내용

 

1. 상속(is) - 포함(has)
2. 단일 상속만 허용
3. 오버로딩(New) - 오버라이딩(Change)
4. super - super()

 

 

보강할 내용

 

이전에 공부한 객체지향 정리본 다시 읽어 보기

 

 

회고

 

객체지향의 기둥이라고 볼 수 있는 네 가지 요소 중 상속과 캡슐화에 대해서 공부했다. 이전에 완벽히 이해하며 공부했다고 생각했는데, 시간이 지나니 상속과 포함의 차이나 오버로딩과 오버라이딩, super와 super() 같은 키워드들이 나왔을 때 개념이 바로 떠오르지 않았다. 누군가 설명을 해 달라고 하면 내 안에서도 혼란스러울 것 같았다.

상속은 키워드 extends로 조상과 자손 클래스의 관계를 맺어서 조상 클래스에서 정의한 필드들을 자손에서 재사용할 수 있다. 포함은 다른 클래스 타입의 참조변수를 선언한다. 실무에서는 상속보다 포함이 더 많이 사용된다고 하는데, 헷갈릴 땐 is와 has를 넣어서 생각해 보자.

오버로딩은 한 클래스에 같은 이름의 메서드들을 정의하는 것인데, 매개변수의 타입이나 개수를 다르게 해야 한다. 오버라이딩은 조상 클래스로부터 상속받은 메서드를 재정의하는 것이다.

super는 조상 클래스의 멤버 변수 값을 가리키며, super() 조상의 생성자를 호출한다.

객체지향 개념은 중요한 만큼 다시 읽고 또 읽어서 너무나 익숙해지도록 해야겠다!

 

 

 

★★★★★

댓글