일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- typescript
- JWT
- java
- html
- OOP
- bean
- 알고리즘
- dfs
- 자료구조
- Deep Dive
- 코딩테스트
- logger
- winston
- 프로그래머스
- TIL
- GraphQL
- Spring
- nestjs
- Interceptor
- 탐욕법
- 인접리스트
- javascript
- queue
- REST API
- 변수
- MySQL
- LifeCycle
- 인접행렬
- node.js
- css
- Today
- Total
목록Language (51)
처음부터 차근차근
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Ch3y7/btsCzslcNAF/SAk1okfdTBZanMSS6EuFW1/img.png)
Java는 Class 기반 객체 지향 프로그래밍입니다. 하지만 지금까지 작성했던 코드들은 모두 절차 지향 프로그래밍이였습니다. 두 개의 차이점과 어떻게 하면 객체 지향 프로그래밍으로 작성하는지 알아보겠습니다. 절차 지향 vs 객체 지향 절차 지향 프로그래밍 절차를 지향합니다. 쉽게 이야기해서 실행 순서를 중요하게 생각하는 방식입니다. 프로그램의 흐림이 순차적으로 따르며 처리하는 방식입니다. 즉, "어떻게"를 중심으로 프로그래밍 합니다. 객체 지향 프로그래밍 이름 그대로 객체를 지향합니다. 쉽게 이야기해서 객체를 중요하게 생각하는 방식입니다. 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍 하는 방식입니다. 즉, "무엇을" 중심으로 프로그래밍 합니다. 차이점 절..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bNEEqZ/btsCoyfSDKF/4M8OY7easzTDd1UjckNQi0/img.png)
Java 변수의 종류 멤버 변수(필드) : 클래스에 선언합니다 지역 변수 : 메서드에 선언, 매개변수도 지역 변수의 한 종류입니다. 지역 변수는 이름 그대로 특정 지역에서만 사용되는 변수라는 의미입니다. (왜 전역 변수가 없을까..) 멤버 변수, 필드 예시 public class Student { String name; int age; int grade; } 지역 변수 예시 public class Method1 { public static void main(String[] args) { Student student1 = new Student(); } } static void initStudent(Student student, String name, int age, int grade) { student.n..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xK2iQ/btsCsoiya6g/ANVfsIwoeTw1NUQeYXEeNk/img.png)
저번 포스팅에서 기본형 타입을 간단하게 알아봤는데, Java에서 사용되는 데이터 타입인 기본형과 참조형에 대해 알아보겠습니다. [Java] Java 변수 선언, 데이터 타입 변수 프로그래밍을 하다 보면 값을 저장해 둘 공간이 필요한데, 그 공간을 변수라고 합니다. 변수(variable)는 이름 그대로 변할 수 있다는 뜻을 의미하며, 공간에 들어간 값은 변할 수 있습니다. hangju95.tistory.com 기본형과 참조형 Java의 변수 데이터 타입을 가장 크게 보면 기본형과 참조형으로 분류할 수 있습니다. 기본형(Primitive Type) : int, long, double, boolean처럼 변수에 사용하는 값을 변수에 직접 넣을 수 있는 데이터 타입 기본형은 소문자로 시작하며, 자바가 기본으로 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wZVi3/btsCqucJCBP/p2s87iSLRQ85LpK6mrKG6k/img.png)
포스팅은 김영한의 실전 자바 - 기본편의 내용을 정리한 것입니다. Class가 필요한 이유 Java는 클래스와 객체로 이루어져 있으며, Java의 특징 중 하나가 Class 기반 객체 지향 프로그래밍 언어입니다. 클래스와 객체라는 개념이 왜 필요한지부터 시작하며, 클래스가 어떤 방식으로 발전하면서 만들어졌는지 알아보겠습니다. 간단한 Class 만들어보기 클래스를 사용해서 학생이라는 개념을 만들고, 각각의 학생 별로 본인의 이름, 나이, 성적을 관리하는 것을 만들어보겠습니다. package class1; public class Student { String name; int age; int grade; } Class 키워드를 사용해서 학생 클래스를 정의하였습니다. 학생 클래스는 내부에 이름, 나이, 성적 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/m4CnI/btsB5WGUQRR/SlzGIlPi0XWwuTMTvDlkyK/img.png)
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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b65edA/btsB0c5p4PW/GGygRyV9PmPlkuUKfIJ0lk/img.png)
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문에서 만족하는 조..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/RibMK/btsBZHDpMcw/PFvJumtgDgh73ltgyMK8ok/img.png)
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..