OOP : Object Oriented Programming(객체 지향 프로그래밍)
기본 전제는 기능(함수, 변수) 재사용이 가능하도록 설계 및 프로그래밍 했는지
대부분의 분야에서 OOP의 개념을 적용하여 프로그래밍을 수행
기본 개념 : 설계(사람이 이해하는 방식)와 구현할 소스코드(컴퓨터가 이해하는 방식) 간의 상호이해가 중요
함수형은 함수의 사용을 극대화시켜서 코드의 가독성을 높여주는 형태
실제로 머릿속에서 떠올릴 수 있는 것을 프로그래밍하는 것이 OOP의 중점
기능별로 개체가 효율적으로(재사용가능하도록) 분리되어야 한다, 따라서 설계가 중요
OOP를 활용할 때의 특징
.method
형태로 활용되는 코드들은 해당 자료형 클래스에 구현된 메소드이다help('자료형')
으로 확인할 수 있다category_encoders
라이브러리의 OneHotEncoder
내부 속성(변수)과 함수를 하나로 묶어서 클래스로 선언하는 일반적인 개념
object의 종류는 현실 세계에 있는 대부분이기 대문에, 설계될 수 있는 다양한 object가 있다
상속(Inheritance)
"개는 동물이다." 또는 "선생님은 직장인이다."라는 관계로서 설명된다.
기본개념 : 상위 클래스의 모든 기능(함수, 변수)을 재사용할 수 있다
"개는 몸을 갖고 있다." 라는 관계로서 설명된다.
기본개념 : 다른 클래스의 일부 기능(함수)만을 재사용한다.
추상화는 복잡한 내용에서 핵심적인 개념 및 기능을 요약하는 것
OOP에서 다형성은 계층 구조의 상속 관계에서 상속받은 기능 외, 다른 기능을 추가적으로 제공하고자 할 때 사용한다