Study/BackEnd

객체 지향 프로그래밍(OOP, Object-Oriented Programming) 이란?

ujam 2021. 8. 18. 22:37
728x90
반응형

객체 지향 프로그래밍 이란?

객체 지향적인 프로그래밍(OOP, Object-Oriented Programming)이란, C와 같은 절차 지향적인 프로그래밍이 아닌 객체의 관점에서 프로그래밍을 한다는 것입니다.

OOP는 절차지향에 비해서 사람의 사고방식과 더 가깝습니다. 그리고 OOP는 객체들의 유기적인 관계를 통해서 프로세스가 진행됩니다.

 

 

 

OOP 특징

1. 캡슐화 (Encapsulation)

- 특정한 객체에 대해서 해당 객체가 필요한 변수나 메소드를 하나로 묶는것을 의미합니다.

 

2. 추상화 (Abstraciton)
- 객체들의 공통된 속성들을 파악하여 클래스를 정의하는 것입니다.

 

3. 상속성 (Inheritance)
- 상위 개념의 특징을 하위 개념이 물려받는 것입니다. (부모클래스가 자손 클래스에게 속성을 물려주는 것)

- 상속을 통해서 코드의 중복 문제도 해결할 수 있습니다. (코드 재사용)

 

4. 다형성(Polymorphism)
- 형태가 같은데 다른 기능을 하는 것을 의미합니다.

- 오버라이딩은 다형성과 관련된 기능입니다.

 

 

 

오버라이딩(Overriding) & 오버로딩(Overloading)

 

오버라이딩
오버라이딩이란 부모클래스에서 만들어진 메서드를 자손 클래스에서 다시 재정의해서 사용하는 것입니다.

 

오버로딩

같은 이름의 메서드를 사용하지만 메서드 마다 다른 용도로 사용하는 것입니다.

 - ex) 메서드가 같은 이름이지만 자료형이나 인자 수가 다른 경우

 

 

 

 

 

항상 부족한 부분이나 피드백할 부분을 댓글로 남겨주시면 적극적으로 수용하여 수정하겠습니다.

 

 

 

 

 

 

728x90
반응형

'Study > BackEnd' 카테고리의 다른 글

동기 vs 비동기, 블로킹 vs 논블로킹  (0) 2021.08.31
NestJS란  (0) 2021.08.30
Sequelize 란? 설치 및 사용법  (0) 2021.08.14
Node.js 란?  (0) 2021.08.10
MVC 패턴이란?  (0) 2021.08.08