본문 바로가기

Programming language

(38)
[JavaScript] DOM HTML을 이용한 화면에 UI 표현하기 브라우저에서 UI를 볼 수 있는 것은 이 HTML을 분석해서 보여줄 수 있습니다. 이 HTML은 요소(Element)들로 구성되어 있습니다. 돔 이란? (Document Object Model) 돔(문서 객체 모델)은 메모리에 웹 페이지 문서 구조를 트리구조로 표현해서 웹 브라우저가 HTML 페이지를 인식하게 해 준다. 또한 웹 페이지를 이루는 요소들을 자바스크립트가 이용할 수 있게끔 브라우저가 트리구조로 만든 객체 모델을 의미한다. 돔 조작 DOM 트리를 DOM에서 제공해 주는 API를 이용해서 조작할 수 있습니다. 이 API를 이용해서 DOM 구조에 접근하거나 원하는 요소(Element)를 수정하거나 없애거나 할 수 있습니다. Document Object win..
[JavaScript] 자바스크립트 타입 원시 타입 : Boolean, String, Number, null, undefined, Symbol(불변성을 가지고 있다.) 참조 타입 : Object, Array, function, classes... 원시 타입 - 고정된 크기로 Call Stack 메모리에 저장, 실제 데이터가 변수에 할당. 참조 타입 - 데이터 크기가 정해지지 않고 Call Stack 메모리에 저장, 데이터의 값이 heap에 저장되며 변수에 heap 메모리의 주소값이 할당. 자바스크립트는 동적 타입입니다. javaScript의 변수는 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당(및 재할당) 가능합니다. - 같은 변수가 여러 개의 타입을 가질 수 있습니다. - 타입을 명시하지 않아도 됩니다. - 대부분의 다른 언어는 정적..
[JavaScript] var, let, const 변수 선언 방식 자바스크립트에서 변수를 선언할 때 var, let, const를 사용합니다. var : 중복 선언과 재할당이 가능합니다. let : 중복 선언은 불가하며, 재할당은 가능합니다. const : 중복 선언과 재할당 둘 다 불가합니다. 유요한 참조 범위 var - 함수 레벨 스코프 let / const - 블록 레벨 스코프
[JAVA] ArrayList&LinkedList ArrayList 1. 데이터가 연속적이고 데이터를 읽는 데 걸리는 시간(접근 시간)이 짧다. 2. 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다. 그러나 순차적인 데이터 추가(끝에 추가)와 삭제(끝부터 삭제)는 빠르다. LinkedList 1. 배열과 달리 링크드 리스트는 불연속적으로 존재하는 데이터를 연결(link) 2. 요소 하나하나가 연결돼 있고 요소를 노드라고 부르고 노드에는 데이터와 다음 노드의 참조변수가 있다 3. 데이터의 삭제 : 단 한 번의 참조변경만으로 가능 4. 데이터의 추가 : 한 번의 Node 객체생성과 두 번의 참조변경만으로 가능 ->변경에 유리함 + 참고 링크드 리스트 - 연결리스트. 데이터 접근성이 나쁨 불연속적이라 한 번에 이동 불가(노드가 바로 다음 노드만 알고 있..
[JAVA] Array&ArrayList Array, ArrayList의 공통점 1. 데이터를 묶어서 그룹으로 사용하고 싶을 때 사용한다. 2. 저장 순서가 있고 중복을 허용한다. Array, ArrayList의 차이점 1. array는 기본 타입 또는 객체를 저장할 수 있지만 ArrayList는 객체만 저장이 가능하다. 2. Array는 같은 type의 데이터만 담을 수 있고 ArrayList는 다른 타입의 데이터를 담을 수 있다. 그렇지만 일반적으로 안정성을 위해 ArrayList도 제네릭스를 사용하여 같은 타입의 데이터만 담을 수 있게 만든다. 3. Array는 정적인 크기를 가지고 ArrayList는 동적인 크기를 가진다. 4. 내용을 읽을 때 Array는 [] 안에 인덱스를 넣어 접근하고 ArrayList는 get() 메서드 안에 인덱..
[JAVA] 문자열과 기본형의 변환 package org.example.ch09; public class Ch9_12_13_14 { public static void main(String[] args) { // join() 은 여러 문자열 사이에 구분자를 넣어서 결합한다. String animals = "dog,cat,bear"; String[] arr = animals.split(","); String str = String.join("-",arr); System.out.println(str); // dog-cat-bear // 숫자를 문자열로 바꾸는 방법 int i = 100; String str1 = i + ""; // 방법1 String str2 = String.valueOf(i); // 방법2 // 문자열을 숫자로 바꾸는 방법 i..
[JAVA] 컬렉션 프레임워크 컬렉션(collection) - 모아놓은 것 여러 객체(데이터)를 모아 놓은 것을 의미 라이브러리(library) - 도서관 - 책(정보) 미리 만들어 놓은 기능을 모아 놓은 것 프레임워크(framework) - 틀 작업 표준화, 정형화된 체계적인 프로그래밍 방식 라이브 러리 + 프로그래밍 방식 컬렉션 프레임워크(collections framework) 1. 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식 2. 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공 java.util 패키지에 포함. jdk1.2부터 제공 컬렉션 클래스 다수의 데이터를 저장할 수 있는 클래스 컬렉션 프레임웍의 핵심 인터페이스 1. List 2. Set 3. Map List - 순서가 있는 데이터의 집합, 데..
[JAVA] 오토박싱&언박싱 jdk 1.5 이전에는 기본형과 참조형간의 연산이 불가능 기본형의 값을 객체로 자동변환하는 것을 오토박싱, 그 반대는 언박싱 import java.util.ArrayList; public class Ch9_28_29_30_31 { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add(10); // 오토 박싱 -> new Integer(10) // jd1.5이전에는 에러 int value = list.get(0); // 언박싱 new Integer(10) -> 10 // list 에는 객체만 저장 가능 // 컴파일러가 자동변환해줌 } }