23.02.27 상속/캡슐화

김민성·2023년 2월 27일
0

학습목표


✍️ 상위 클래스-하위 클래스의 상속 관계의 핵심을 이해하고, 그 장점을 설명할 수 있다.
✍️ 상속 관계에서 사용할 수 있는 메서드 오버라이딩의 정의, 성립 조건, 장점을 이해하고 이를 활용할 수 있다.
✍️ 캡슐화의 핵심 개념과 목적을 이해하고 설명할 수 있다.
✍️ 데이터를 효과적으로 보호하기 위한 수단으로 getter/setter 메서드를 이해하고 사용할 수 있다.

🌟 상속

상속이란 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소를 의미한다.
상속 관계를 설정할 때는 extend 키워드를 사용한다.

class Programmer extends Person {
	...	}

🌟 포함 관계

포함 관계는 클래스의 멤버로 다른 클래스 타입의 참조변수를 선언하는 것이다.
포함 관계와 상속을 사용하는 기준은 클래스 간의 관계가 '~은 ~이다(Is-A)' 관계인지 ~은 ~을 가지고 있다(Has-A) 관계인지 생각해 보면 된다.

🌟 메서드 오버라이딩

메서드 오버라이딩은 상위 클래스로부터 상속 받은 메서드와 동일한 이름의 메서드를 재정의 하는 것이다.

☠️ 메서드 오버라이딩의 3가지 조건

🍎 메서드의 선언부가 상위클래스의 선언부와 일치해야한다.
🍎 접근 제어자의 범위가 상위 클래스의 메서드보다 같거나 넓어야 한다.
🍎 예외는 상위 클래스의 메서드보다 많이 선언할 수 없다.

🌟 Super / Super()

super : 상위 클래스의 객체를 호출
super() : 상위 클래스의 생성자를 호출
공통적으로 상위 클래스의 존재를 상정하며 상속 관계를 전제로 한다.

⛳ 클래스의 정점에는 Object 클래스가 있다.

🌟 캡슐화

캡슐화란 특정 객체 안에 관련된 속성과 기능을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것을 말한다.

패키지란 특정한 목적을 공유하는 클래스와 인터페이스의 묶음을 의미한다.
다른 패키지의 클래스를 사용하기 위해서는 import문을 사용한다.

import 패키지명;

🌟 접근제어자

private : 동일 클래스에서만 접근 가능
default : 동일 패키지 내에서만 접근 가능
protected : 동일 패키지 + 다른 패키지의 하위 클래스에서 접근 가능
public : 접근 제한 없음

🌟 getter / setter

setter : 외부에서 메서드에 접근하여 조건에 맞을 경우 데이터 값을 변경 가능하게 해준다.
getter : 설정한 변수 값을 읽어오는 데 사용한다.

🤯 개꿀팁 intelli j 에서 Alt + Insert 단축키로 편하게 사용 할 수 있다.

오늘 객체 지향에서 중요한 파트인 캡슐화와 상속에 대해서 공부했다. 이론은 쉬어보였지만
실습을 해보니 너무 어려웠다...🤬 강사님께서 설명해주시면서 코드를 짜는걸 봤다. 강사님이 생각하시는대로 코드를 짜는걸 보니 저렇게 내 생각대로 코드를 술술 짤수만 있다면 코딩이 재밌을것 같다고 생각했다. 나도 열심히 공부해서 내 생각대로 구동되는 프로그램을 자유자재로 만들것이다!!😮‍💨

0개의 댓글