공부

190327 2차시 행아웃 OOP(객체 지향 프로그래밍)

1. OOP 객체지향 프로그래밍 (Object Oriented Programming) (Programming Paradigm) 지침
- javascript (programming language) 도구
자바스크립트는 정보 은닉이 힘들다

1) OOP를 특정 언어와 관계없이 살펴볼 것
- interface <--> implementation (구현)
1. Encapsulation ==> information hiding (정보은닉)
2. Inheritance (상속)
3. Polymorphism (다형성) : 동일한 메시지(액션)에 계층 구조(타입)에 따라서 다르게 행동하는 성질
2) javascript 안에서의 OOP


- 인터페이스
얼굴 사물 맞닿아 있는 부분
밖에서 안에있는 물건들을 조작할 수 있게끔 공개된 부분

let jaysok = new Person('jaysok'');
jaysok
Person {name: "jaysok"}
jaysok.getName();

Person<- 클래스
name <- 데이터
프로시저 <- 행동의 묶음

접근, 조작할 수 있는 수단을 제공해야 함 (인터페이스)
getName이 인터페이스


function () {} <- 메서드, 함수
메서드 == function
문맥 자체가 객체적인 문맥을 담고 있음

외부로 드러내지 않고 싶은 변수명 앞에 _쓰는 컨벤션들이 있다.


2. 디버깅
콘솔로그의 단점 -> 디버깅 목적으로 써놨는데 안 지우고 놔두는 일이 자주 생김
debugger 디버거->현재 스코프에서 접근 가능한 영역의 상태를 보여줌

3. 콜백함수의 파라미터

1) 현재 스코프에서 접근이 안되거나 스코프안에 숨어있다.

접근이 불가능한 객체를 넣어준다. (비동기데이터)
2) 편의성을 위해