[ 관련 글 시리즈 보기 ]
언어별 장단점 비교
면접에 자주 나오는 문제들 - OOP 및 순수 프로그래밍
자주출제
* oop 일반적인 개념에 대해 말해보라
키워드: class, simular or smalltak -> c++ -> java, c#
Abstraction(추상화), Encapsulation, inheritance(상속, 다중 상속), Polymorphism(다형성),
장점:
소프트웨어 공학의 관점에서 볼 때 S/W의 질을 향상하기 위해 강한 응집력(Strong Cohesion)과 약한 결합력(Weak Coupling)을 지향해야 하는데, OOP의 경우 클래스에 하나의 문제 해결을 위한 데이터를 모아 놓은 데이터형을 사용함으로써 응집력을 강화하고, 클래스간에 독립적으로 디자인함으로써 결합력을 약하게 할 수 있다
https://ko.wikipedia.org/wiki/객체_지향_프로그래밍
https://en.wikipedia.org/wiki/Object-oriented_programming
Polymorphism is the ability of an object to take on many forms.
2) 예제로서 이걸말하면 쉬울듯.
Method overloading(compile time polymorphism),method overriding(run time polymorphism)
* http://loustler.io/2016/10/12/oop_interface_and_abstract_class/
추상 클래스
설명
interface
일종의 프로토콜과 비슷하다할수있다. BluePrint라고도 할수있고.
자바 8 미만의 모든 버전을 기준으로 인터페이스의 모든 메소드는 구현체(메소드 바디)를 포함하고 있지 않다.
자바 8부터, default와 static 메소드는 interface 정의에 구현체를 가지고 있을 수 있다
All methods of an Interface do not contain implementation (method bodies) as of all versions below Java 8.
Starting with Java 8, default and static methods may have implementation in the interface definition.
* Dependency injection
C
http://www.w3ii.com/en-US/cprogramming/cprogramming_questions_answers.html
C++
가상함수
아래 언어별로 문제 볼수있다.
OOP, C#, C/C++
Virtual Destructor )
가상 소멸자는 어떤 경우에 쓰는 건가요?도 주된 질문
http://blog.daum.net/crexy/11051503
쓰지않으면, 메모리 누수를 발생시킨다.
http://www.w3ii.com/en-US/cplusplus/cpp_interview_questions.html
'IT > IT 일반' 카테고리의 다른 글
프로그래밍 관련 정보들 (개발환경 등) (0) | 2023.11.10 |
---|---|
[Social Media 관련 정보-1] Youtube (0) | 2023.06.14 |
리눅스 관련 정보 모음 (0) | 2022.08.25 |
Java 프로그래밍 (0) | 2022.04.09 |
[Social Media 관련 정보-2 그외] (0) | 2022.04.03 |
Hardware 관련 토막 정보들 (2) | 2022.01.17 |
게임이론 - 4/4* (4) | 2022.01.03 |
게임이론 - 3/4* 죄수의 딜레마 (0) | 2022.01.03 |
게임이론 - 2/4* (0) | 2022.01.03 |
게임이론 - 1/4 (0) | 2022.01.03 |