면접 준비 25.02.19 : OOP
2025. 2. 19. 15:17
OOP
OOP(Object-Oriented Programming) 객체지향 프로그래밍
프로그램 설계 방법 중 하나로 객체 단위로 프로그램을 구성하는 것을 의미한다. 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법
상속이란?
부모 클래스의 속성과 기능을 그래도 이어받아 사용하거나 자식 클래스에 맞게 기능을 수정하여 사용할 수 있게 하는 것
추상화란?
공통의 속성이나 기능을 묶어 이름을 붙이는것
다형성이란?
하나의 변수명, 함수명 등이 상황에 따라 다른 의미로 해석될 수 있는 것
캡슐화란?
기능과 특성의 모음을 클래스라는 캡슐에 묶어 외부에서 접근하지 못하도록 보호하는 것
객체지향 추가 질문
- 장점, 단점
- 장점 : 상속을 통해서 코드의 재사용이 용이하고, 수정해야하는 클래스의 내용만 수정하면 전체가 변경되기 때문에 유지보수가 쉽다.
- 단점 : 절차적 프로그래밍에 비해서 속도가 느리다. 코드가 복잡해지면 메모리 사용량이 늘어나고, 관계가 복잡해지만 유지보수에 어려움이 발생할 수 있다.
- (꼬리 질문) SOLID 원칙은 무엇인가요?
- SRP(Single Responsibility Principle) : 단일 책임 원칙
- 객체는 단 하나의 기능만 담당해야한다.
- OCP(Open Closed Principle) : 개방 폐쇄 원칙
- 클래스는 기능을 추가할 때는 열려있어야 하며, 수정할 때는 닫혀있어야 한다.
- 추상화와 상속이 개방 폐쇄 원칙을 지키기 위한 역할을 한다.
- LSP(Listov Substitution Principle) : 리스코프 치환 원칙
- 서브 타입은 언제나 자신의 기반 타입으로 교체할 수 있어야 한다.
- ISP(Interface Segregation Principle) : 인터페이스 분리 원칙
- 인터페이스를 각각 사용에 맞게 잘게 분리해야한다.
- DIP (Dependency Inversion Principle) : 의존 역전 원칙
- 고수준 모듈은 저수준 모듈에 의존 해서는 안되고 모두 추상화에 의존해야한다.
- DIP를 지키기 위한 아키텍처 구조가 clean architecture이다.
- SRP(Single Responsibility Principle) : 단일 책임 원칙
'기초' 카테고리의 다른 글
면접 준비 25.02.19 -2 (0) | 2025.02.19 |
---|---|
면접 질문 CS 25.02.18 (0) | 2025.02.18 |