본문 바로가기

Java44

[Java] 컬렉션 프레임워크(Collections Framework) [Java] 컬렉션 프레임워크(Collections Framework) 자료구조의 분류 자료구조 분류법은 많은 분류법이 있지만, 대표적으로 많이 분류되는 방법은 선형 자료구조(Linear Data Structure)과 비선형 자료구조(Nonlinear Data Structure)로 나눌 수 있습니다. 이러한 분류를 보통 '형태에 따른 자료구조'라고 보고, 각 자료구조에 알맞게 구체화 된 것들을 '구현된 자료구조'라고 합니다. 먼저 선형 자료구조(Linear Data Structure)에 대해 알아보면, 선형 자료구조는 쉽게 생각해서 데이터가 일렬로 연결된 형태라고 보면 됩니다.. 우리가 흔히 쓰는 int[] 배열같은 것이라 생각하면 됩니다.. 선형 자료구조는 대표적으로 리스트.. 2021. 2. 28.
[Live-Study] 상속 목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 더블 디스패치 추상 클래스 final 키워드 Object 클래스 이제야 반을 온 것 같습니다. (사실 아직 반도 안왔지만) 자주쓰는 상속의 개념인데 제대로 한번 정리해봣나 싶긴 합니다 ㅎㅎ 이번 기회에 자바의 상속에 대해 한번 제대로 알아보겠습니다. 자바 상속의 특징 상속(Inheritance) 부모가 소유하고 있는 재산의 일부를 자식이 물려받는 것을 생각해보면, 부모가 가진 것을 자식이 마음대로 쓰거나 그대로 쓰거나 선택할 수 잇습니다. 즉, 자식 클래스가 부모 클래스의 변수와 메소드를 물려 받아 쓰는 것입니다. 상속의 장.. 2021. 2. 25.
[우아한테크코스 3기] 레벨 1 - 3주차 회고 한 주 명언 “One must live the way one thinks or end up thinking the way one has live” — paul Bourget - 생각하는 대로 살지 않으면 사는 대로 생각하게 된다. 1주알 안에 이렇게 많은 지식을 배울 수 있나 생각하게 되는 한 주였습니다. 많은 것을 배웠고, 또 느낀 한주 였습니다. 5Fs란? 1. Facts(한 것) 실제로 했던 일이나 겪었던 일의 사실을 적습니다. 2. Feelings(느낀 것) 일을 하거나 겪으면서 느꼈던 감정이나 느낌을 적습니다. 3. Findings(배운 것) 일을 하거나 겪으면서 새롭게 배운 점이나 알게 된 점을 적습니다. 4. Future Actions(할 것) 배운 점을 토태로 이후엔 어떻게 유지하고 개선할.. 2021. 2. 22.
[Live-Study] 클래스 목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 마감일시 2020년 12월 19일 토요일 오후 1시까지. 과제 (Optional) int 값을 가지고 있는 이진 트리를 나타내는 Node 라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinrayTree라는 클래스를 정의하고 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node) 메소드를 구현하세요. DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 늦게 시작한 감이있어 빠르게 하려하니 집중이 안되고, 정리도 대충하게 되는 .. 2021. 2. 18.
[우아한테크코스 3기] 레벨 1 - 2주차 회고 한 주 명언 “You can never plan the future by the past.” —Edmund Burke - 과거로는 미래를 계획할 수 없습니다. 이번주는 설날이 겹쳐있어 실제로 공부한 양이 그렇게 많지 않습니다..ㅠㅠ 많이 쉬었으니, 다시 시작하는 마음으로 열심히, 꾸준히 해봐야겠습니다. 5Fs란? 1. Facts(한 것) 실제로 했던 일이나 겪었던 일의 사실을 적습니다. 2. Feelings(느낀 것) 일을 하거나 겪으면서 느꼈던 감정이나 느낌을 적습니다. 3. Findings(배운 것) 일을 하거나 겪으면서 새롭게 배운 점이나 알게 된 점을 적습니다. 4. Future Actions(할 것) 배운 점을 토태로 이후엔 어떻게 유지하고 개선할 것인지 적습니다. 5. Feedbacks(시간이.. 2021. 2. 15.
[우아한테크코스 3기] 레벨 1 - 1주차 회고 5Fs 시작. 회고하는 방법을 제대로 알지 못해 회고에 대한 두려움과 불안함이 먼저 다가왔었습니다. 하지만 멈춰 있을 수 만은 없는법! 교육과정 중 회고법에 대한 블로그를 공유받게 되어 의시적으로 연습해보려 합니다. 5Fs란? 1. Facts(한 것) 실제로 했던 일이나 겪었던 일의 사실을 적습니다. 2. Feelings(느낀 것) 일을 하거나 겪으면서 느꼈던 감정이나 느낌을 적습니다. 3. Findings(배운 것) 일을 하거나 겪으면서 새롭게 배운 점이나 알게 된 점을 적습니다. 4. Future Actions(할 것) 배운 점을 토태로 이후엔 어떻게 유지하고 개선할 것인지 적습니다. 5. Feedbacks(시간이 지난후 결과) 적절한 기간 이후 (저는 1달로 정함) 결과가 어떘는지 적습니다. 1. .. 2021. 2. 8.
[SpringBoot] 커스텀 애노테이션으로 Password규칙 적용하기 스프링 프레임워크가 기본적으로 제공하는 Validator이외의 Validator를 구현해야할 순간이 있습니다. 스프링은 컨트롤러에서 클라이언트에서 넘겨받은 값에 대한 검증을 JSR-303 기반으로 쉽고 강력하게 할 수 있습니다. 또 한 커스텀 한 어노테이션을 쉽게 구현할 수 있고 확장도 용이합니다. 애노테이션을 직접 만들기 위해서는 2가지 클래스가 필요합니다. @interface 클래스, ConstraintValidator의 구현 클래스 아래에서 작성하는 어노테이션은 해당 Password가 유효한지 검사를 하는 애노테이션입니다. 애노테이션 정의 import javax.validation.Constraint; import javax.validation.Payload; import java.lang.anno.. 2021. 1. 28.
[IntelliJ] Column Selection Mode(컬럼 선택 모드) for mac 개발을 하다 여러 줄을 동시에 편집해야 하는 순간이 생깁니다. Column Selection Mode(컬럼 선택 모드)? 먼저 컬럼 선택 모드라 부르는 기능이 무엇인지 살펴볼 필요가 있습니다. public class Student { private int age; private int tall; private String name; private String phoneNum; public Student(int age, int tall, String name, String phoneNum) { this.age = age; this.tall = tall; this.name = name; this.phoneNum = phoneNum; } } 현재 Student 클래스의 인스턴스들은 private으로 선언되어 .. 2021. 1. 28.
[Live-Study] 제어문 목표 자바가 제공하는 제어문을 학습하세요. 학습할 것 (필수) 선택문 반복문 이번엔 과제가 많습니다. 옵션이긴 하지만.. 자바 기본 문법에 직결되는 부분이 많은거같아 다 진행해보려 합니다. 선택문을 진행하기 앞서, 조건문도 정리하면 좋을 것 같아 정리했습니다. 조건문 if(조건문)에서 사용되는 조건문이란 참과 거짓을 판단하는 문장을 말합니다. 조건문이 참인지 거짓인지 따라 실행문의 제어가 결정되는데요 에제를 통해 바로 알아보도록 하겠습니다. if 문, 나이가 20살 이하인 학생은 어린 학생으로 보겠다 class Student { int age; int tall; public Student(int age, int tall) { this.age = age; this.tall = tall; } public b.. 2021. 1. 27.