Languages

👉 화살표 함수란? 다른 곳으로 전달되더라도 컨텍스트( )를 잃지 않도록 만든 함수. 🚩 특징 1. 간단하다 // 기존 함수 사용방식 function(){ ... } // 화살표 함수 사용방식 () => { ... } 2. this가 없다. 화살표 함수는 this가 없고, 만약에 화살표 함수 내부에 this를 사용하려하면, 외부렉시컬환경의 this를 가져온다. 3. arguments가 없다. 모든 인수에 접근할 수 있게 해주는 객체인, arguments를 지원하지 않는다.
👉 this 란? 메서드에게, 자신이 관리해야하는 객체를 알려주는 것 // foo1() 메서드는 cat 객체를 관리해야 하므로, 이때 this로 cat을 전달한다. const cat = { name: 'meow', foo1: function(){ console.log(this.name); } }; this가 필요한 이유 메서드는, 객체 내부의 멤버변수(property)들을 다루기 위해 존재한다. ( 객체 지향 프로그래밍 이므로 ) 그러려면, 자신이 속한 객체에 대한 정보(this)를 알고있어야 한다. this없이, 자신이 속한 객체 정보 전달하기 // this를 사용하지 않고, 자신이 속한 객체를 직접 적어준 경우 let cat = { name: 'meow', foo1: function(){ consol..
👉 Java란? 어떤 CPU 에서라도, 실행가능하도록 만들어진 프로그래밍 언어 Java의 특징 가상 머신 사용 객체를 사용 ( 객체 지향 프로그래밍 ) 코드를 바로 바로 실행가능 - 인터프리터 메모리 자동 관리 - C++은 안됨 쓰레드 관리 API 제공 - 멀티 쓰레드 구현 쉬움 필요한 클래스만 로드 - 동적 로딩 TCP/IP 라이브러리 지원 http, htp 프로토콜 지원 👉 JVM이란? Java로 쓰여진 프로그램을 실행할 수 있는 가상머신 (Java Virtual Machine) C언어는 기계어로 바로 컴파일 하므로, CPU마다 각각의 컴파일러가 필요하지만, Java는 컴파일러가 Java클래스 파일로 번역( 바이트 코드 )하고, JVM의 excution이 클래스파일을 기계어로 ( 바이너리 코드 )로 ..
· Languages/C
C언어란? 하나의 언어로 작성된 프로그램이, 여러개의 CPU에서 실행될 수 있도록 만든 프로그래밍 언어 ( CPU마다 프로그램을 따로 작성해주지 않아도 됨 ) 컴파일러란? C언어, 파스칼 등으로 구현된 프로그램 코드를 어셈블리어 혹은 기계어로 바꿔주는 프로그램 ( C언어에서 컴파일러란 말을 처음쓰기 시작했다. ) 링커란? 같은 CPU를 사용하더라도, 다른 운영체제를 사용하고 있다면 프로그램을 실행할 수 없다. ( OS마다 다른 커널을 가지고 있기에, 사용해야 하는 명령어가 달라진다. ) 링커는 기계어를 운영체제의 커널과 연결해, 운영체제가 실행할 수 있는 파일로 만들어준다. C언어 프로그램 실행과정 사람이 C언어로 명령어 작성하고 파일 저장 ( .c ) 컴파일러가 C소스파일을 CPU에 맞게 바꾼다. ( ..
this란? 객체의 메서드가, 객체에 저장된 다른 속성에 접근할 수 있도록 하는 메모리주소 (포인터) ( 객체 자신의 메모리 주소 )
null undefined 뜻 비어있음, 알 수 없음, 존재하지 않음 ( null 이 할당되어 있음 ) 값이 할당되지 않음 (null 조차) 역할 비어있거나 알 수 없는 상태를 나타냄 값이 할당되지 않은 변수를 초기화 할때 사용 undefined는 시스템이 변수를 자동으로 초기화 해줄때 사용하고, null은 사용자가 변수가 비어있음을 직접 설정하고자 할때 사용한다.
Prototype이란? JS에서 객체를 만들기 위해 사용하는 객체 ( Prototype : 근원, 근원이 되는 ) Prototype을 만든 이유 Javascript는 클래스 개념이 없다. 그래서 기존의 객체(Prototype)를 참조해, 새로운 객체를 만드는 방식을 사용한다. 기본 Prototype 생김새 ( 최상위 객체 - 프로토타입이 없는 객체 ) const Object = { constructor: ƒ Object() // 자식 객체 만들때 사용하는 함수 hasOwnProperty: ƒ hasOwnProperty() isPrototypeOf: ƒ isPrototypeOf() propertyIsEnumerable: ƒ propertyIsEnumerable() toLocaleString: ƒ toLoc..
정적 메소드란? javascript에서 공용적으로 자주 사용하는 기능을, 미리 객체로 만들어 놓은것. - Math, Random, Boolean 등등 ... 정적 메소드의 특징 정적 메소드는, 콜이나 순서에 상관없이 처음부터 메모리를 할당받는다. 메소드와 프로퍼티가 이미 다 만들어져 있기때문에 constructor가 없고, 내가 따로 만들 수 없다.
튜플 ( tuple ) 소괄호()로 둘러쌓인 데이터의 형태 ( 1, 2, 3 ) - 안에 저장된 데이터를 수정할 수 없다. 리스트 ( list ) 대괄호[]로 둘러쌓인 데이터의 형태 list = [ 1, 2, 3 ] - 안의 저장된 데이터를 수정할 수 있다. list[0] = 4 - 인덱스 형태로 불러올 수 있다. print( list[0] ) 딕셔너리 ( dictionary ) 중괄호로 둘러쌓이고, key와 value를 가진 데이터의 형태 { key : value } - javascript Record와 동일하다 - key는 중복될 수 없다. 집합 ( set ) key, value 없이, 중괄호{}로만 둘러쌓인 데이터의 형태 - 중복된 원소는 하나로 간주한다. - 순서 개념이 없어, 인덱스 형식으로 사..
MOONCO
'Languages' 카테고리의 글 목록 (6 Page)