일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 영국 워홀
- 영국개발자
- 영국생활
- 영국 워킹홀리데이
- 영국워홀
- 영국 개발자
- laravel
- 영어이메일
- 영국이직
- 맨체스터 일상
- 맨체스터근교
- Python
- 맨체스터일상
- 파이썬
- 맨체스터생활
- 맨체스터 개발자
- 영국워킹홀리데이
- 영국코로나
- 영국구직
- 영국세금
- 영국취업
- php
- 해외취업
- 해외개발자
- 맨체스터 트램
- 영국 배우자비자 연장
- 맨체스터개발자
- 영국 배우자비자
- 영국일상
- 맨체스터
- Today
- Total
맨체스터 사는 개발자
객체지향 관련 영어 인터뷰 질문 및 답변 본문
뭘 쓸까 고민하다가 영국에서 개발자 면접 때 준비했던 객체지향 관련 질문과 답변을 적어볼까 합니다.
객체지향 관련된 내용은 한국어로 해도 어려운데 영어는 더 어려워서 검색을 여러번 한 후에 적당한 답변들을 섞어서 한줄로 만들었습니다.
Object Oriented design
Object-oriented design is the process of planning a system of interacting objects for the purpose of solving a software problem.
Why OOP?
1. reuse, reuse enables faster development
2. easier to maintain
단점은
1. slower processing
4 basics of OOP
Abstraction
- means a concept or an Idea, express the intent of the class rather than the actual implementation
Encapsulation
- the mechanism of hiding of data implementation by restricting access to public methods
Inheritance
- expresses “is-a” and/or “has-a” relationship between two objects. Using Inheritance, In derived classes we can reuse the code of existing super classes
Polymorphism
- Polymorphism is the ability of an object to take on many forms.
- A real-life example of polymorphism, a person at the same time can have different characteristics. Like a man at the same time is a father, a husband, an employee.
5 OOP principles
S – Single Responsibility Principle (SRP) : 단일 책임 원칙
- A class should only have a single responsibility
- 객체는 오직 하나의 책임을 가져야 한다.(객체는 오직 하나의 변경의 이유만을 가져야 한다.)
O – Open Closed Principle (OCP) : 개방-폐쇄 원칙
- Software entities … should be open for extension, but closed for modification.
- 객체는 확장에 대해서는 개방적이고 수정에 대해서는 폐쇄적이어야 한다.
L – Liskov Substitution Principle (LSP) : 리스코프 치환 원칙
- objects in a program should be replaceable with instances of their subtypes without altering
- 자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있다는 원칙
I – Interface Segregation Principle (ISP) : 인터페이스 분리 원칙
- Many client-specific interfaces are better than one general-purpose interface.
- 클라이언트는 자신이 사용하지 않는 메소드에 의존 관계를 맺으면 안된다.
D – Dependency Inversion Principle (DIP) : 의존성 역전 원칙
- depend upon abstractions, [not] concretions.
- 추상성이 높고 안정적인 고수준의 클래스는 구체적이고 불안정한 저수준의 클래스에 의존해서는 안된다.
class vs object
- An instance of a class is known as Object.
- A template or blueprint with which objects are created is known as Class.
'개발 > C++' 카테고리의 다른 글
[C++] wstring 구분자로 split (0) | 2021.08.17 |
---|---|
[C++] vector 의 메모리 사용 (0) | 2021.07.01 |
[맨체스터개발자/Modern C++] Structed Binding (0) | 2021.05.20 |
[맨체스터개발자/Modern C++] noexcept 키워드 (0) | 2021.05.20 |
[Modern C++] Shared_ptr 과 make_shared (0) | 2021.05.20 |