일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- node.js
- 프로그래머스
- 인접행렬
- LifeCycle
- Interceptor
- 자료구조
- Spring
- css
- Kubernetes
- TIL
- Deep Dive
- 알고리즘
- bean
- winston
- 탐욕법
- 코딩테스트
- Linux
- OOP
- java
- JWT
- typescript
- puppeteer
- dfs
- MySQL
- nestjs
- javascript
- REST API
- 인접리스트
- GraphQL
- html
- Today
- Total
목록Language (57)
처음부터 차근차근
Javascript에서 자주 사용하는 함수, 그러나 Java는 Class 기반 언어입니다. 어떻게 함수를 사용할 수 있을까요?? 메서드를 사용한다. 자바에서는 함수 대신 메서드를 사용합니다. (주관적 생각이지만, 자바는 Class 기반이기 때문에 메서드만 쓸 수 있는게 아닐까..) 간단한 예시를 하나 만들어봤습니다. package method; public class Method1Ref { public static void main(String[] args) { int sum1 = add(5, 10); System.out.println("결과1 출력:" + sum1); int sum2 = add(15, 20); System.out.println("결과2 출력:" + sum2); } //add 메서드 pu..
Java에서 배열(Array)을 어떻게 생성하고 사용할 수 있는지 알아보겠습니다. 배열의 선언과 생성 int[] students; //1. 배열 변수 선언 students = new int[5]; //2. 배열 생성 먼저 배열을 사용하려면 배열의 타입을 선언해주고, 뒤에 대괄호를 붙여 배열이라고 알려줍니다. 그 후, 배열을 사용하기 위해 배열을 생성해줍니다. 이때 new int[5]라고 입력하면 위 그림같이 총 5개의 int형 변수가 만들어집니다. 자바는 배열을 생성할 때 그 내부값을 자동으로 초기화합니다. 숫자는 0, boolean은 false, String은 null로 초기화가 됩니다. 배열을 생성하면 배열의 크기만큼 메모리를 확보합니다. 그리고 자바는 메모리 어딘가에 있는 이 배열에 접근할 수 있는..
Scanner? System.out을 통해서 출력을 했듯이, System.in을 통해서 사용자의 입력을 받을 수 있습니다. 그러나 System.in을 통해 사용자 입력을 받으려면 여러 과정을 거쳐야 해서 복잡합니다. 자바에서는 이런 문제를 해결하기 위해 Scanner라는 클래스를 제공합니다. 이 클래스를 사용하면 사용자 입력을 매우 편하게 받을 수 있습니다. public static void main(String[] args) { // scanner 인스턴스 생성 Scanner scanner = new Scanner(System.in); System.out.print("문자열을 입력하세요:"); String str = scanner.nextLine(); // 입력을 String으로 가져온다. System..
자동 형변환 작은 범위 숫자 타입에서 큰 범위 숫자 타입으로의 대입은 개발자가 직접 형 변환을 하지 않아도 되며, 자동으로 발생합니다. public static void main(String[] args) { int intValue = 10; long longValue; double doubleValue; longValue = intValue; // int -> long System.out.println("longValue = " + longValue); //longValue = 10 doubleValue = intValue; // int -> double System.out.println("doubleValue1 = " + doubleValue); //doubleValue1 = 10.0 doubleVa..
Java 조건문 Java의 조건문으로는 if, else if, else switch 삼항연산자 가 존재합니다. Javascript와 비슷하기 때문에 간단히 짚고만 넘어가겠습니다. if / else / else if if문은 특정 조건이 참인지 확인하고, 그 조건이 참(true)일 경우 특정 코드 블록을 실행합니다. package cond; public class If1 { public static void main(String[] args) { int age = 20; // 사용자 나이 if (age >= 18) { System.out.println("성인입니다."); } if (age < 18) { System.out.println("미성년자입니다."); } } } else 문은 if문에서 만족하는 조..
Set과 Map의 특징 Map과 Set 모두 Hash를 통해 구현합니다. 두 가지의 자료구조 특징 중 하나는 우리가 자주 사용하는 Array나 Object에 비해 데이터 삽입, 삭제, 조회를 할 경우 시간복잡도가 낮다는 점이 장점입니다. Optimizing hash tables: hiding the hash code · V8 ECMAScript 2015 introduced several new data structures such as Map, Set, WeakSet, and WeakMap, all of which use hash tables under the hood. This post details the recent improvements in how V8 v6.3+ stores the keys i..
연산자는 쉬우니 코드를 통해 간단하게 넘어가겠습니다. 자바 연산자 우선순위 암기법 참고 : 연산자 우선순위를 외우려고 하지 마세요. 아무도 외우지 않습니다. 다만, 코드를 작성할 때 주의할 것이 있습니다. 1. 상식선에서 우선순위를 사용하자. 우리는 덧셈보다 곱센이 우선순위인 것을 기초수학을 통해 배웠습니다. 이런것을 통해 상식선에서 우선순위를 사용하는게 개발자들끼리 코드를 리뷰하는데도 도움이 되고, 알아보기도 수월합니다. 2. 애매하면 괄호()를 사용하자. 우선순위를 고민할 것 같으면, 괄호를 사용하세요. 괄호는 가장 첫번째 우선순위입니다. 괄호 () 단항 연산자 (예: `++` , `--` , `!` , `~` , `new` , `(type)` ) 산술 연산자( `*` , `/` , `%` 우선, 그..
변수 프로그래밍을 하다 보면 값을 저장해 둘 공간이 필요한데, 그 공간을 변수라고 합니다. 변수(variable)는 이름 그대로 변할 수 있다는 뜻을 의미하며, 공간에 들어간 값은 변할 수 있습니다. 변수 선언 저장공간, 즉 변수가 필요하다면 먼저 변수를 선언해야합니다. // 변수를 선언하는 방법 // 변수타입 변수이름; int a; 숫자 정수( `integer` )를 보관할 수 있는 이름이 `a` 라는 데이터 저장소를 만든다. 이것을 변수라 한다. 이렇게 변수를 만드는 것을 변수 선언이라 한다. 이제 변수 `a` 에는 숫자 정수를 보관할 수 있다. 정수 뿐만 아니라 문자, 소수와 같이 다양한 종류의 값을 저장할 수 있다. 변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 알맞은 크기의 저장공간이 확보..
Java는 Class 기반 객체 지향 프로그래밍 언어이기 때문에, 모든 코드는 반드시 클래스 안에 존재해야 합니다. 그리고 서로 관련된 코드들을 구럽으로 나누어 별도의 클래스를 구성하고, 이 클래스들이 모여 하나의 Java Application을 이룹니다. Java application 만들어보기 Java가 어떻게 구동되는지 알기 위해서 코드를 직접 한번 작성해보았습니다. 먼저 intelliJ를 통해 Java project를 만들게 되면, 하나의 main.java 파일이 만들어지고, 그 안에는 이러한 코드가 들어있습니다. public class HelloJava { // 프로그램 시작 시점 public static void main(String[] args) { // 내부에 실행할 코드를 작성한다. Sy..
JVM(Java virtual machine) 간단히 직역하면 자바를 실행하기 위한 가상 기계라고 할 수 있습니다. 자바로 작성된 애플리케이션은 모두 이 JVM에서만 실행되기 때문에 JVM은 필수적입니다. Java는 OS에 종속적이지 않다는 특징을 가지고 있는데, 이는 JVM을 통해서 가능합니다. Java의 소스코드는 CPU가 인식하지 못하므로 기계어로 컴파일 해줘야 합니다. 하지만 Java는 JVM이라는 가상 머신을 거쳐서 OS에 도달하기 때문에 OS가 인식할 수 있는 기계어로 바로 컴파일 되는게 아니라 JVM이 인식할 수 있는 Java bytecode(*.class)로 변환됩니다. 이렇게 변환된 bytecode는 기계어가 아니기 때문에 바로 OS에서 실행되지 않습니다. 대신 JVM이 OS가 bytec..