객체지향 캡슐화, 상속

jiyoon·2022년 11월 7일
post-thumbnail

클래스를 만들 때 가장 먼저 고려할 것

  • 어떤 클래스를 작성할 것인가를 고민하기 전에 항상 어떤 객체가 필요한가를 고민한다.

  • 무엇을 객체로 만들 건지 추려보고 그 객체를 생성할 수 있는 클래스를 생각 해본다.


메서드 오버라이딩

  • 상위 클래스에 정의된 메서드를 하위 클래스에서 똑같은 메서드 시그니처로 작성해 주는 것 ,
    상위 클래스의 메서드가 아니라 하위 클래스 자신의 메서드가 호출이 되는 것이다.

객체 지향 프로그래밍의 핵심 목적은 어떤 변화가 발생했을 때 부수적으로 변경해야 되는 코드들의 범위를 합리적인 수준으로 관리하는 게 가장 중요한 목표이다.

캡슐화라는 것은 객체의 데이터뿐만이 아니라 객체의 내부 동작까지도 객체 내부로 감추고 최소한의 메서드만 제공하는 것 -> 객체 간 의존성이 줄어든다.

상속은 기존의 클래스를 재활용하고 코드의 중복을 없애기 위해 사용한다

포함(composite)은 상속처럼 클래스를 재사용할 수 있는 방법으로, 클래스의 멤버로 다른 클래스 타입의 참조변수를 선언하는 것


super : 상위 클래스의 인스턴스를 가리키는 것

super() : 상위 클래스의 생성자를 호출 하는 것

static이 없으면 인스턴스 메서드.


핵심이 뭔지는 알겠는데 막상 코드를 보고 만들어 보려고 하면 쉽지가 않다.

먼저 예제를 고쳐보고 따라 만들어보는 걸로.. 용어들도 안 헷갈리게 계속 봐줘야 할 거 같다 (깜지라도 써야 하나?)

잠을 많이 못자니 컨디션이 좋지도 않고 🥱 바깥 세상 어떻게 돌아가는지도 모르겠고 🧐
영화 올드보이가 생각나는 하루

profile
한걸음 나아가는 개발자

0개의 댓글