본문 바로가기

언어17

24/08/21 - JavaScript(5 - 4): 클로저 클로저클로저는 이전 시간에 짧게 배운 적 있다.(https://dkskfktldi.tistory.com/entry/240819-JavaScript4-1-%EC%BD%9C%EB%B0%B1-%ED%95%A8%EC%88%98-%EB%8F%99%EA%B8%B0%EB%B9%84%EB%8F%99%EA%B8%B0) 클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합이다.렉시컬 환경(Lexical Environment)이란, 코드 블록, 함수, 스크립트를 실행하기 앞서 생성되는 특별한 객체로, 실행할 스코프 범위 안에 있는 변수와 함수를 프로퍼티로 저장하는 객체이다. 렉시컬 환경에 대해서도 이전에 잠시 배운 적 있다.(https://dkskfktldi.tistory.com/entry/240816-JavaScript.. 2024. 8. 21.
24/08/21 - JavaScript(5 - 3): 상속, Static 메소드 상속다른 객체 지향 언어가 그렇듯이, JS도 상속을 사용할 수 있다.클래스는 상속을 통해 다른 클래스의 기능을 물러받을 수 있다. 이는 곧 소프트웨어의 재사용을 가능하게 하며, 동적 바인딩을 통해 객체 지향 프로그래밍의 묘미를 그대로 살리는 매우 중요한 기술이다. 이때 상속을 하는 클래스를 Super Class 또는 Base Class라고 한다. JS에서는 extends를 통해 상속을 만든다.// 동물 전체에 대한 클래스 = 부모 클래스class Animal { constructor(name) { this.name = name; } // 동물의 행동을 정의하는 메소드 speak() { console.log(`${this.name} makes a noise.`); }}// 동물 클래스를.. 2024. 8. 21.
24/08/21 - JavaScript(5 - 2): 클래스(정의, Getter와 Setter) 객체 지향 언어의 가장 대표적인 특징은 클래스와 인스턴스, 객체이다. 클래스는 설계도와 비슷하다. 객체를 정의하는 틀로서, 클래스에 멤버 변수와 멤버 함수를 선언(이것들은 객체의 속성이 된다.)한다. 객체, 또는 인스터스는 클래스를 바탕으로 만들어진 것으로, 설계도에 그려진 그대로 속성이나 메서드를 다 가지고 있다. 클래스와 객체 관계는 붕어빵 틀과 붕어빵 관계와 비슷하다. 붕어빵 틀른 클래스, 붕어빵은 객체에 비유된다. 이렇듯 클래스는 결국 객체를 생성해 내기 위한 방법이다. 클래스를 생성하기 위해선, 먼저 class 키워드를 사용해야 한다.// 사람 클래스를 만들어 보자.class Person { constructor(name, age) { // 사람의 필수 정보(name, age) 입력 // =n.. 2024. 8. 21.
24/08/20 - JavaScript(5 - 1): DOM 이전 시간에 JS가 생긴 이유에 알아본 적 있다.(https://dkskfktldi.tistory.com/entry/240812-JavaScript1-JS-%EC%96%B8%EC%96%B4%EC%9D%98-%EC%97%AD%EC%82%AC-%ED%8A%B9%EC%A7%95-%EB%B0%8F-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95) JS는 기본적으로 웹 페이지를 동적으로 만들기 위해 태어난 언어이다.웹 페이지가 뜨는 과정은 다음과 같다.사용자 = 브라우저 = 클라이언트에 주소를 입력한다.즉, 클라이언트가 서버에게 요청을 한다.예를 들어 크롬을 통해 네이버 주소를 입력한다.클라이언트는 HTML 문서를 서버로부터 수신한다.네이버 서버는 클라이언트에게 응답한다.이 응답은 HTML 문.. 2024. 8. 20.