Programming

    var, let, const

    JavaScript 에서 변수 선언시 var, let, const 를 사용하게 되는데, 이 차이점에 대해 알아보자. 1. var ( 변수 재선언 가능, 변수 재할당 가능) var v1 = 'v1'; console.log(v1);//v1 var v1 = 'v123'; console.log(v1);//v123 var로 선언한 변수는 중복해서 선언 및 초기화가 가능하다. (에러 X) 마지막에 할당된 값이 변수에 저장된다. 유연한 변수 선언으로 간단한 테스트에는 편리 할 수 있겠으나, 코드량이 많아 진다면 어디에 어떻게 사용 되는지 파악하기 힘들 뿐만 아니라, 값이 바뀔 우려가 있다. 💡 var은 function-scoped 단위로 hoisting이 일어난다. hoisting 이란 : '변수 선언문' 을 미리 ..

    Class 의 개념

    클래스의 개념을 알아보기에 앞서서 객체지향언어 을 잠깐 짚고 들어가보자. 객체지향이론의 기본 개념은 '실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다.' 라는 것 이다. 이 기본 개념을 이용하여, 자바에서 코드 간에 서로 관계를 맺어 줌으로써 보다 유기적으로 프로그램을 구성하는 것이 가능해졌다. 자바 하면 객체 지향 언어, 객체 지향 프로그래밍 (OOP, Object-Oriented Programming) 가 떠오를 것 이다. 객체 지향 언어의 주요 특징은 다음과 같다. 1. 코드의 재사용성이 높다. : 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다. : 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경..

    String s = "test"와 String s = new String("test")의 차이점

    String은 자바 개발자라면 자주 쓰게 되는 자료형 중 하나 이다. 해당 자료형은 불변성(Immutable) 이라는 성질을 가지고 있으며, 같은 값의 문자열에 대해서는 단 하나의 문자열 객체만을 생성하도록 설계되어 있다. 이러한 성질을 가지게 된 이유 중 하나의 가장 큰 장점은 성능 때문이다. 같은 값을 갖는 문자열 객체는 JVM의 객체가 생성되는 공간인 Heap에 매번 새로 생성하게 되면 메모리 공간적 측면에서 비효율적 이기 때문. 자, 다시 돌아와서 String은 두가지 생성 방식이 있고, 그에 따라 각각 차이점이 존재한다. new 연산자를 이용한 방식 리터럴을 이용한 방식 이번 포스팅은 new 연산자를 이용한 방식과, 리터럴을 이용한 방식의 차이점이 무엇인지 알아볼 것 이다. public clas..

    Map.getOrDefault(Object Key, Integer defaultValue)

    Map.getOrDefault(Object Key, Integer defaultValue) 💡 찾는 키가 존재한다면 찾는 키의 값을 반환하고 없다면 기본 값을 반환한다. 즉, 키 값이 몇번이나 사용되었는지 찾고싶을때 사용한다. 찾는 key를 가지지 않는 map 이 있을 수 있지만 Value를 가지길 원하고 map이 변경되는것을 원치 않을때 사용한다. import java.util.HashMap; import java.util.Map; public class GetOrDefaultEx { public static void main(String[] args) { String[] ex = {"A", "B", "C", "A"}; Map map = new HashMap(); for(String str : ex) ..

    Stack과 Queue

    목차 1) Stack과 Queue의 기본 개념 및 특징 2) Stack과 Queue의 메서드 3) Stack과 Queue의 활용 예시 1) Stack과 Queue의 기본 개념 및 특징 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 LIFO (Last In First Out) 구조로 되어있고, 큐는 처음에 저장한 데이터를 가장 먼저 꺼내게 되는 FIFO (First In First Out) 구조로 되어있다. 예를 들어 스택에 0, 1, 2 의 순서로 데이터를 넣었다면 꺼낼 때는 2, 1, 0의 순서로 꺼내게 된다. 큐에는 0, 1, 2 순서로 데이터를 넣었다면 0, 1, 2 의 순서로 데이터를 꺼내게 된다. 2) Stack과 Queue의 메서드 3) Stack과 Queue의 활용 예시 import..

    자바 가상 머신(JVM)의 메모리 구조

    목차 1) 자바의 자료형 2) JVM이란? 3) JVM의 메모리 구조 4) JVM의 실행 과정 1) 자바의 자료형 JVM의 메모리 구조에 들어가기에 앞서 기본적인 자바의 자료형 먼저 알아보자. 기본 자료형 (값 타입) 수치형(정수형, 실수형), 문자형, 논리형 byte, short, int, long, float, double, char, boolean 변수의 실제 값을 가지고 있는 것. 작고 빠르게 처리해야 하는 것은 값타입을 이용한다. 메모리의 스택에 저장된다. 변수의 선언과 동시에 메모리가 생성된다. 변수의 타입에 따라서 메모리의 크기도 달라진다. 변수를 선언할 때 new 연산자를 이용하지 않아도 자동으로 new 연산자가 호출되어 메모리가 생성된다. 참조형 (Reference Type, 참조타입) ..

    Java란?

    목차 1) 프로그래밍이란? 2) Java를 왜 쓰는걸까? 3) Java 실행 과정 4) Java 코드의 구조 1) 자바 프로그램의 골격과 구성 1) 프로그래밍이란? 컴퓨터 프로그램 만드는 일을 프로그래밍(programming) 이라 하고, 프로그램 만드는 사람을 프로그래머(programmer)라고 한다. 프로그래밍을 한다는 것은 컴퓨터가 일을 하도록 컴퓨터 언어로 명령을 만들고 컴퓨터로 하여금 그 명령을 실행하게 하는것을 말한다. 프로그램을 만든 후 프로그래밍 언어 문법에 잘 맞는지 확인하고, 컴퓨터가 이해할 수 있는 언어로 번역해야 한다. 이 과정을 컴파일(compile)이라 말하며 컴파일 작업을 하는 프로그램을 컴파일러(compiler)라고 한다. 즉 우리가 말하는 프로그램 이란 프로그램에 들어 있는..

    JDK 환경변수 설정

    Java를 처음 깔때, 경로 change를 해서 C드라이브에 바로 폴더가 생기게끔 설정 한 상태이다. jdk 버전은 다를 수 도 있으며, 직접 파일탐색기에 들어가서 파일 경로를 복사 붙여넣기 하는것이 제일 바람직 하다. 환경 변수 설정 먼저, 환경 변수 설정을 위한 파일 탐색기를 연다.​ 그 후 내 PC 우클릭 → 속성 클릭 그 후 이 창이 뜨면, 설정 변경을 클릭해준다. 고급 탭에 들어가서 환경 변수 클릭 1. JAVA_HOME 설정 시스템 변수 에서 새로 만들기를 클릭 변수이름 - JAVA_HOME 변수 값 - C:\Java\jdk1.8.0_271 2. PATH 설정 - 편집 위의 칸에서 사용자 변수에 있는 Path 더블 클릭한다. %JAVA_HOME%\bin ( 윈도우10 이 아닐 경우에는 마지막 ..