[면접대비] 객체지향
댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.
객체 지향 프로그래밍은 데이터와 그 데이터를 처리하는 기능을 객체 단위로 묶어 프로그램을 구성하는 방식입니다. 객체 간 상호작용을 통해 프로그램을 설계하며 유지 보수성과 재사용성을 높일 수 있습니다.
SOLID는 객체지향 설계에서 유지보수성과 확장성을 높이기 위한 5가지 설계 원칙입니다.
하나의 클래스는 하나의 책임만 가져야 한다는 원칙입니다. 즉, 클래스가 변경되어야 하는 이유가 하나가 되도록 설계합니다.
기존 코드는 수정에는 닫혀 있고 확장에는 열려 있어야 한다는 원칙입니다. 새로운 기능을 추가할 때 기존 코드를 최대한 수정하지 않고 확장할 수 있도록 설계합니다.
자식 클래스는 부모 클래스가 사용되는 위치에 대신 사용되어도 프로그램의 동작에 문제가 없어야 한다는 원칙입니다.
하나의 큰 인터페이스보다 목적에 따라 작은 인터페이스로 분리해야 한다는 원칙입니다. 클래스가 사용하지 않는 기능까지 의존하지 않도록 합니다.
구체적인 구현보다 추상화에 의존해야 한다는 원칙입니다. 상위 모듈과 하위 모듈이 인터페이스나 추상 클래스 등을 통해 결합되도록 설계합니다.
객체지향의 대표적인 특징은 캡슐화, 상속, 다형성, 추상화입니다. 데이터와 기능을 묶고 필요한 부분만 노출하며, 기존 기능을 재사용하거나 동일한 인터페이스로 다양한 객체를 처리할 수 있도록합니다.
데이터와 관련 기능을 하나의 객체로 묶고, 외부에서 내부 구현에 직접 접근하지 못하도록 제한하는 것입니다.
기존 클래스의 데이터와 기능을 새로운 클래스가 물려받아 확장하거나 재사용하는 기능입니다
동일한 인터페이스나 부모 타입을 통해 서로 다른 객체를 동일한 방식으로 다루면서, 실제 객체에 따라 다른 동작을 수행할 수 있는 특성입니다.
객체의 복잡한 내부 구현은 숨기고 필요한 동작과 기능만 외부에 표현하는 것입니다.
오버로딩은 같은 이름의 함수를 매개변수 구성에 따라 여러 개 정의하는 것이고
오버라이딩은 상속받은 메서드를 자식 클래스에서 재정의 하는 것입니다
추상 클래스는 공통된 기능의 코드 재사용과 확장을 위해 사용하며 단일 상속만 지원합니다.
인터페이스는 클래스가 구현해야 할 행동(규약)을 정의하고 강제하며 다중 상속을 지원합니다.
그래픽스 면접 대비
네트워크 면접 대비
데이터 베이스 면접 대비