[면접준비] 객체지향 프로그래밍이란 무엇이고 어떻게 활용할 수 있나요? (24/04/05)
2024. 4. 5. 09:17ㆍ공부/면접 준비
객체지향 프로그래밍(OOP)
소프트웨어 개발 프로그래밍 패러다임중 하나로, 현실 세계의 사물을 모델링하여 소프트웨어를 개발하는 방법이다.
핵심 개념
클래스와 객체
- 클래스 : 객체를 생성하기 위한 설계도, 템플릿.
- 객체 : 클래스의 인스턴스. 데이터와 데이터를 처리하기 위한 메서드를 포함한다.
- 추상화
- 여러 객체들의 공통적인 특징(속성과 기능)을 추출하여 정의하는것.
- 클래스 정의 = 추상화.
- 상속
- 상위 클래스의 특성과 메서드를 하위 클래스가 상속받는다.
- 코드의 재사용성을 높일 수 있다.
- 다형성
- 같은 이름의 메서드가 다양한 형태로 동작할 수 있는 능력을 가리킴.
- 상위 클래스에 정의된 메서드가 하위 클래스에서 다르게 구현될 수 있음.
- 오버라이딩 : 하위 클래스가 상위 클래스에서 상속받은 메서드를 재창조해서 사용하는 것
- 오버로딩 : 하나의 클래스 안에서 같은 이름의 메서드가 다른 용도로 사용되며, 결과물도 다르게 구현하는 것.
- 캡슐화
- 객체의 데이터와 메서드를 하나로 묶는 개념.
- 외부에서의 접근을 제어함으로서 데이터를 보호하고 은닉.(ex:readonly)
객체지향 프로그래밍의 장점
- 코드 재사용성
- 상송을 통해 프로그래밍시 코드의 재사용률을 높일 수 있다.
- 개발 시간의 단축과 높은 유지보수성.
- 유연성과 확장성
- 다형성을 통한 유연하고 확장 가능한 코드 작성.
- 새로운 기능을 쉽게 추가 가능.
- 유지 보수성
- 캡슐화를 통해 데이터를 보호.
- 변경이 용이한 모듈화된 구조로 인한 높은 유지보수성.
- 대규모 프로젝트 관
- 각 객체들이 독립적으로 작동하며, 이는 프로젝트의 복잡성을 줄여준다.
객체지향 프로그래밍의 단점
- 느린 실행 속도
- 큰 용량의 프로그램
- 설계에 많은 시간 소요
답변
객체 지향 프로그래밍(OOP)은 클래스 및 객체를 기반으로, 추상화, 상속, 다형성 및 캡슐화와 같은 핵심 개념을 통해 코드 재사용성, 유연성 및 유지 관리성을 향상시키는 소프트웨어 개발의 패러다임입니다.
'공부 > 면접 준비' 카테고리의 다른 글
[면접준비] NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요. (24/04/08) (2) | 2024.04.08 |
---|---|
[면접준비] 클래스형과 함수형의 차이를 설명해주세요. 어떤 방식을 주로 사용하였고 그 이유가 뭔지 답변해주세요. (24/04/05) (0) | 2024.04.05 |
[면접준비] OSI 7계층에 대해 아는대로 설명해주세요. (24/04/04) (0) | 2024.04.04 |
[면접준비] http, https 차이점에 대해 설명해주세요 (24/04/04) (0) | 2024.04.04 |
[면접 준비] TCP/UDP에 대해서 설명해주세요. (24/04/03) (0) | 2024.04.03 |