목록언어 (14)
우당탕탕
',"와 `의 차이 자바스크립트 코드를 보다 보면 따옴표와 백틱을 많이 보게 된다. 따옴표 하고 백틱을 언제 사용해야 하고 차이는 무엇일까? 보통 스트링(String) 값을 선언할 때 따옴표를 아래와 같이 많이 쓴다. ( 백틱은 숫자 1번 왼쪽 물결 표시 키이다 ) // 큰 따옴표 let temp = "Hello World" // 작은 따옴표 let temp2 = 'Hello World' // 백틱 let temp3 = `Hello World` 위의 코드에서는 큰 따옴표, 작은따옴표로 스트링 값을 선언한 것인데 JS에서는 차이가 없다. 그럼 `(backtick)백틱은 차이가 있을까? 백틱 백틱의 경우 ${}를 통해 변수를 넣어 사용할 수 있는데 이를 템플릿 리터럴이라 부른다. ( ES6 이후 ) 한번 아..
이벤트 버블링과 이벤트 캡처링이란? 이 글은 이벤트 JS에서 이벤트 버블링과 이벤트 캡처링에 대해 설명한다. 이벤트 버블링과 캡처링 모두 계층적으로 짜여있는 HTML 요소에 이벤트가 발생할 때 나타나는 연쇄반응을 칭한다. 해당 반응이 발생하는 방향에 따라 버블링과 캡처링으로 나뉜다. 말로보면 어려우니 아래 그림과 코드를 통해 알아보자 이벤트 버블링 아래와 같은 코드가 있다고 가정해보자 클릭해! 브라우저는 이벤트가 발생하면 그 이벤트를 최상위에 있는 요소까지 이벤트를 전파시키는 특성이있다. 해당 코드에서 p 태그인 "클릭해!"를 누르게 되면 처음으로 알럿 창인 "p"가 뜨게 된다 이후 "div"와 "form"이 순차적으로 출력되며 총 3개의 알럿 창이 뜨게 된다. p태그만 클릭하였지만 div와 form요소..
가비지 컬렉션 알고리즘 이 글은 [Java] 가비지 컬렉션(Garbage Collection)이란? 의 2편이다. ( GC에 대한 자세한 내용은 1편을 참고 ) 1편에서 GC 알고리즘 종류에 대해 말을 했었다. 1. Serial GC 2. Parallel GC 3. Parallel old GC 4. CMS(Concurrent Mark & Sweep) GC 5. G1 GC(Garbage First GC) 대충 이런 알고리즘이 있었는데 이에 대해 하나하나 알아보도록 하자 1. Serial GC Serial GC의 경우 Young 영역과 Old 영역이 다르게 실행된다. Young 영역의 경우 1편에서 설명한 Mark Sweep 방식으로 수행되지만 Old 영역의 경우 Compact 가 추가된 Mark Sweep..
가비지 컬렉션(GC)이란? 가비지 컬렉션(Garbage Collection , GC) 가비지 컬렉션이란 개발자가 동적으로 할당한 메모리 영역 중 더 이상 사용하지 않는 자원을 해제하는 기능이다. Java의 경우 개발자가 직접 메모리를 해제하지 않아도 JVM의 가비지 컬렉터가 알아서 정리해준다. (JVM 메모리 구조 중 Heap영역에서 사용하지 않는 객체를 삭제한다. 아래의 그림 참조 ) 아래의 예시 코드로 한번 알아보자 Car car = new Car("K5"); car = new Car("K3"); 처음에 K5라는 차가 생성되고 car는 K5를 바라보고 있다 이때는 가비지가 존재하지 않는다. 하지만 이후 K3라는 차가 생성되고 car는 K3를 바라보게 된다. K3를 바라보게 되는 순간부터는 K5라는 차..
일급 객체란 무엇인가? 자바스크립트로 개발을 하다 보면 일급 객체와 일급 함수라는 말을 많이 듣는다. 일급 객체란 뭘까? 일급 객체(First Class Object) 일급 객체란 다음과 같이 설명할 수 있다. 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 보통 함수에 매개변수로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 한다. - 출처: 위키 설명이 어렵다면 일급 객체의 특징을 아래의 예시로 한번 보자 1. 변수(variable)에 담을 수 있다 let mozzi = function() { return "HelloWorld"; } console.log(mozzi()); 변수 mozzi의 경우 HelloWorld가 출력된다. 2. 파라미터로 ..
자바란 무엇인가? 자바(Java)란? 위키백과에서는 자바를 이렇게 설명한다 자바는 썬 마이크로시스템즈의 제임스 고슬링( James Gosling )과 다른 연구원들이 개발한 객체 지향적 프로그래밍 (OOP: Object Oriented Programming) 언어이다. 여기서 처음 개발을 시작하는 사람들은 객체 지향적 프로그래밍이란 것이 뭘까?라는 생각이 들것이다. 그럼 객체지향 프로그래밍(OOP: Object Oriented Programming)이란 무엇일까? 간단하게 말해서 객체지향 프로그래밍이란 프로그램을 개발하는 기법으로 객체(부품 정도로 생각하면 된다)를 만들고, 이것들을 조립하여 전체 프로그램을 완성시키는 기법이라 설명할 수 있다. 더 깊은 내용으로는 나중에 한 번에 모아서 작성하도록 하겠다..