학습
📐소프트웨어 설계반드시

객체지향의 다섯 가지

클래스·객체·캡슐화·상속·다형성. 실기 단답형의 단골이다.

캡슐화는 데이터와 그것을 다루는 함수를 하나로 묶고 밖에서 직접 건드리지 못하게 하는 것이다. 결합도가 낮아지고 재사용이 쉬워진다.

정보 은닉은 캡슐화의 목적이다. 안쪽이 어떻게 생겼는지 감추고 인터페이스로만 쓰게 한다.

상속은 상위 클래스의 속성과 연산을 물려받는 것이고, 다형성은 같은 메시지에 객체마다 다르게 응답하는 것이다.

오버로딩은 같은 이름에 매개변수를 달리한 것(컴파일 때 정해짐), 오버라이딩은 물려받은 메서드를 다시 정의한 것(실행할 때 정해짐)이다.

외울 것

캡슐화데이터 + 함수를 묶고 밖에서 못 건드리게
정보 은닉안쪽 구현을 감추고 인터페이스로만
다형성같은 메시지, 객체마다 다른 응답

바꿔 내는 짝

오버로딩(Overloading)오버라이딩(Overriding)

오버로딩은 이름이 같고 매개변수가 다르다(컴파일 시), 오버라이딩은 물려받은 것을 덮어쓴다(실행 시).

시험에는 이렇게

실기에서 '데이터와 함수를 하나로 묶고 외부 접근을 막는 것'의 이름을 적게 한다. 필기는 오버로딩과 오버라이딩을 바꿔 낸다.

실기에도 나오는 개념입니다. 실기는 고르는 것이 아니라 적으므로 용어를 글자 그대로 외워 두세요.