객체 지향 프로그래밍 (Object oriented Programming)
객체 지향 프로그래밍이란 객체와 관련된 코드를 분리할 수 있게 하여 객체를 위주로 생각하여 프로그래밍 하는 것!
이러한 구조가 계속 반복되다 보니 클래스라는 구조가 만들어짐 !
클래스 (class)
클래스란 데이터와 그 데이터를 효과적으로 다룰 수 있는 함수를 하나로 묶은 새로운 타입. 즉, 객체와 관련하여 묶은 새로운 데이터 타입!
cf) 이름을 지을 때 BeautifulSoup 처럼 단어마다 앞에 대문자로 바꾸어 붙여야함.
(캐멀 케이스 규칙)
객체 (object)
여러 가지 속성을 가질 수 있는 대상 !
* 사람을 객체로 표현한다면 이름, 성별 등등이 속성 !
* 클래스 기반으로 만들어진 객체는 인스턴스라고 함.
추상화 (abstraction)
프로그램에서 필요한 요소만을 사용해서 객체를 표현하는 것 !!
→ 핵심 정보만 간추린 것 !!
캡슐화 (encapsulation) or 정보 은닉 (information hiding)
외부 세계로부터 데이터 객체의 자세한 구현을 감추는 것
생성자 (constructor)
인스턴스를 만드는 클래스와 이름이 같은 함수 !
메소드 (method)
클래스가 내부의 함수
데이터 타입 (data type)
객체들과 이 객체들에 동작하는 연산(operation)의 집합.
클래스와 비슷한 개념