📝 성장을 위한 기록
-
[생활코딩] JavaScript 객체지향 : 생성자와 newStudy/JavaScript 2019. 12. 7. 18:06
객체지향 프로그래밍 프로그램을 만들면서 규모가 커질때, 변수나 함수와 같은것이 아주 많아지게 되고, 복잡해 지기 시작한다. 그래서 비슷한 맥락의 변수와 메소드를 그룹핑하기로 하고 '객체'라는 것이 탄생하게 된다. 즉, 로직을 상태와 행동(변수와 메소드)로 나누고 연관된 것들끼리 그룹핑한 것을 객체라 하고, 이를 조립해 프로그래밍을 하는 것을 객체지향 프로그래밍이라고 할 수 있다. 부품화와 재활용성을 극대화시키는 방법이다. 소프트웨어의 설계란 현실을 프로그래밍적으로 추상화하는 것을 말한다. 객체지향의 여러 가지 특성들 - 부품화 : 프로그램의 로직들을 기능별로 나눠 부품화하는 것 - 은닉화, 캡슐화 : 로직을 온전히 부품화하기 위해 내부동작법은 케이스에(객체) 숨기고 사용법(메소드)만 노출하는 것 - 인터..
-
[생활코딩] JavaScript 함수 : scope, callback, closure, arguments, apply&callStudy/JavaScript 2019. 12. 7. 10:36
자바스크립트의 핵심적인 도구는 함수다. 자바스크립트의 함수는 매우 강력하다. 함수에 대한 이해 없이는 자바스크립트를 잘 다루기 어렵다. 또한 자바스크립트에서 함수는 객체를 이해하는 데 가장 중요한 기초를 이룬다. 유효범위 Scope - 유효범위(Scope)는 변수의 수명을 의미한다. - 지역변수는 특정 함수 안에서 선언된 변수이며, 유효범위는 함수 안이다. - 전역변수는 함수 바깥에서 선언되고, 유효범위는 애플리케이션 전역에서 접근이 가능하다. 즉 모든 함수에서 이 변수에 접근할 수 있다. 예시) var vscope = 'global'; function fscope(){ var vscope = 'local'; alert(vscope); } fscope(); // 'local' ▶ var vscope = ..
-
[생활코딩] JavaScript 모듈 & 라이브러리Study/JavaScript 2019. 12. 6. 17:45
모듈(module) 모듈화(Modularization)란 수 많은 로직을 재사용할 수 있는 단위로 나누어, 별도의 모듈이 라는 형태로 떼어내 다른 프로그램에 부품으로 사용하는 기법이다. 그리고 그 결과물을 모듈이라 한다. 자바스크립트의 경우 긴 코드를 js파일에 따로 저장해서 프로그램 크기를 줄이는 것을 모듈화라고 한다. 예시) 분할된 파일을 불러오기 - 호스트 환경 javascript는 웹브라우저를 위한 언어로 시작했지만(클라이언트), 서버 측에서 실행되는 javascript도 있다(서버사이드 Node.js). 따라서 호스트 환경에 따라 모듈화 하는 방법을 알아야 한다. - 모듈과 라이브러리의 차이 모듈이 프로그램의 작은 부품이라 하면, 라이브러리는 자주 사용되는 부품을 재사용하기 편하게 잘 정리한 코..
-
[생활코딩] UI 와 APIStudy/JavaScript 2019. 12. 6. 10:52
UI(user interface) : 사용자와 시스템의 접점 / 사용자 (User) 가 목적달성을 위해 마주하는 조작체계 API(application programming interface) : App과 프로그래밍의 접점(프로그램이 동작하는 환경을 제어하기 위해서 환경에서 제공되는 조작 장치) / 프로그래머 (Programmer) 의 개발을 돕기위해 마련된 도구 및 환경 개발자가 아닌 사람은 UI를 통해 시스템을 제어하는것이고, 개발자는 UI와 더불어 API를 이용해서 App을 제어할 수 있다. ex) '사용자'에게 '웹 개발자'는 인프라를 제공하고, '웹 개발자'에게 '브라우저 개발자'는 인프라를 제공한다. '사용자'와 '웹 개발자'의 관계의 접점이 " Interface " 여기서, 웹 개발자는 사용자..
-
[생활코딩] JavaScript 객체Study/JavaScript 2019. 12. 5. 10:18
객체 Object 객체가 가지고 있는 여러 가지 특성 중 하나가 '정리 정돈의 수단'이다. 변수나 함수 같은 코드가 하나의 페이지에 아주 길어지다 보면, 그것을 정리하기 위해 '객체'를 쓴다. 코드가 아주 길면 새로 만들 함수의 이름이 기존에 존재하는 함수이름 인지 파악하기 어려워진다. 그리고 만약 같은 이름의 함수를 만들면, 아래에 있는 함수가 위의 함수를 덮어 씌워 버려 심각한 문제를 초래한다. 새로이 이름을 바꿔서 함수를 만드는 것도 방법이지만, 객체를 활용하면 이름이 겹칠때도 사용 할수 있다. 이처럼 객체는 서로 연관된 함수와 변수를 담아 놓는 수납상자와 같은 폴더라는 관점에서 바라봐도 무방하다. 순서 있이 저장하는 것이 배열이라면 순서 없이 정보를 저장하는 것이 객체이다. 그리고 객체는 정보를 ..