본문 바로가기

필수 개발지식/JS5

객체지향 프로그래밍이란? (java기반) 개발하다보면 끊임없이 나오는 객체지향 프로그래밍이란 정확히 무슨 뜻일까 알아봅시다. 객체 지향 프로그래밍 (Object-Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 객체지향 프로그래밍 객체지향프로그래밍 1. 객체지향 프로그래밍의 정의 2. 객체지향 프로그래밍의 장점 3. 객체지향 프로그래밍의 특징 추천글 위의 목차를 클릭하면 해당 글로 자동 이동 합니다. 객체지향 프로그래밍의 정의 객체 지향 프로그래밍(Object-Oriented Programming, OOP)이란 컴퓨터 프로그램을 어떤 데이터를 입력받아 순서대로 처리하고 결과를 도출하는 명령어들의 목록으로.. 2023. 8. 14.
[JS] 자바스크립트(JavaScript)의 호이스팅(Hoisting)이란 무엇인가, var, let, const의 개념까지 쉽게 이해하기 ✅호이스팅(Hoisting) 정의 : 자바스크립트에서 변수와 함수 선언이 해당 스코프의 최상단으로 끌어올려지는 동작 자바스크립트 엔진은 코드를 실행하기 전에 첫번째 선언(Declaration), 두번째 실행(Execution)단계로 나뉜다. ex) 1.변수 호이스팅 다른 언어에서라면 x 자체가 뜨지 않고 에러가 발생해야 하지만 JS에선 아니다. 변수 x가 선언되었지만 첫번째 줄에선 5가 할당되기전이기 때문에 undefinde 반환 console.log(x); // undefined var x = 5; 즉 실제로는 아래와 같은 순서로 동작하는 것이다. var x; // 선언 단계가 끌어올려집니다. console.log(x); // undefined x = 5; // 초기화 단계 같은 이치로 아래의 결과값도.. 2023. 8. 1.
[Node.js] 모듈(Module)이란? ✅모듈(Module) 정의 : 재사용 가능한 코드의 단위, 기능별로 미리 만들어놓은 코드 쓰는 목적 : 코드 재사용, 코드 구성성, 모듈은 자체적인 스코프를 가지므로 전역 네임스페이스를 오염시키지 않는다 쓰는 방법 : require를 통해 모듈을 가져오고 exports, module.exports로 함수를 노출시킨다. 종류 : 외장모듈 (npm) : Express, Axios etc.. 내장모듈 (node.js설치할 때 이미 존재, npm 필요x) : fs.readFile, HTTP요청, path, 네트워크 통신 etc.. 사용자 정의 모듈 : 개발자가 직접 만들어서 사용하는 모듈 ex) 사용자가 정의한 모듈 mymodule.js (모듈 생성 및 정의) // 모듈에서 노출할 기능 정의 function g.. 2023. 7. 27.
[JS] 클로저(Closure)란? ✅ 클로저(Closure)란? 정의 : 함수와 함수가 선언된 어휘적 환경의 조합 함수와 그 함수가 만들어진 환경(Lexical environment)을 함께 묶어서 일종의 '패키지'로 만드는 것 함수가 자신이 만들어진 환경을 기억하고 있는 것 함수가 독립적으로 동작하면서도 외부 변수에 접근이 가능하게 만들어줌 목적 : 데이터 은닉과 캡슐화를 구현, 상태유지, 콜백함수, 반복문에서의 변수 유지 🔍예시1) 클로저예시 function outerFunction() { let outerVariable = 10; function innerFunction() { console.log(outerVariable); } return innerFunction; } //closure없이 실행시 10이 반환되지 않는 이유 //.. 2023. 7. 26.