객체 : 실생활에서 일종의 물건 attribute 속성과 action 행동을 가짐
OOP는 이러한 객체 개념을 프로그램을 표현
attribute은 variable 변수
action은 method 함수로 표현
설계도에 해당하는 class와
실제 구현체인 instance로 나눔
init 객체 초기화 함수
특수한 예약 함수나 변수, 함수명 변경에 사용
부모클래스로 부터 속성과 Method를 물려받은 자식 클래스를 생성
같은 이름 메소드의 내부 로직을 다르게 작성
객체의 정보를 볼 수 있는 레벨을 조절하는것
누구나 객체 안에 모든 변수를 볼 필요가 없음
캡슐화 또는 정보 은닉 (Information Hiding)
Class를 설계할 때, 클래스 간 간섭/정보공유의 최소화
캡슐을 던지듯, 인터페이스만 알아서 써야함
일등 함수, 일급 객체
변수나 데이터 구조에 할당이 가능한 객체
parameter로 전달 가능 + return 값으로 사용
함수 내에 또다른 함수 존재
closures : inner function을 return 값으로 반환