일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개발자 취업
- HTML
- 면접(java
- Spring
- 우선순위 큐(priorityqueue)
- GIT
- Til
- 코딩공부
- github
- Java
- Entity
- 메서드
- 코딩테스트 준비
- 항해99
- css
- ArrayList
- 99클럽
- cs 공부)준비
- 프로그래머스
- 회고
- wil
- 코딩문제
- 이진 탐색(binary search)
- aop
- Grafana
- 정렬 알고리즘(sort algorithm)
- 배열
- 코딩
- 자료구조
- 자바
- Today
- Total
목록Til (80)
hayu's 개발 일지
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/3cWqA/btsH0jb6YPS/aNi0BN2O9oOORKtawbOkv0/img.png)
학습 키워드- Deque 공부한 내용DequeDeque는 Double Ended Queue의 양방향 대기열이라고도 불리는 자료구조이다.양방향으로 열려있는 구조로 Queue와 외형적으로 비슷한 구조이다. 그러나 Deque는 Stack과 Queue와 달리 LIFO, FIFO와 같은 순서에 구속되지 않는다.Deque 특징Stack 및 Queue를 모두 사용할 수 있다.Deque는 양쪽으로 데이터를 추가하고 삭제할 수 있어서 Stack과 Queue를 구현할 수 있다. 추가와 삭제를 양쪽에서 제어할 수 있어서 여러 형태로 사용할 수 있다.추가를 제한하는 구조한쪽에서만 데이터 추가가 가능하고 삭제는 양방향에서 가능하게 구현한다면 아래와 같은 구조가 된다.데이터 추가의 방향이 정해진 상태가 된다. 왼쪽으로 삭제하는 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmRwSc/btsHVUjUkUO/OX0w6K6YNTFAZkCHAPRWt1/img.png)
학습 키워드- this 공부한 내용thisthis는 인스턴스의 자기자신을 의미한다.인스턴스화 되었을 때 자기 자신의 메모리 주소를 담고있는 키워드이다.this 키워드의 세가지 역할자기 자신의 메모리를 가르킨다.생성자에서 다른 생성자를 호출할 경우 사용한다.인스턴스 자신의 주소를 반환할 때 사용한다.this를 사용해야만 하는 경우메소드(생성자 포함)의 매개변수와 클래스 멤버변수가 동일한 이름일 경우 전달인자와 속성이 구분이 되지 않기 때문에 문제가 발생하는데 이를 구분짓기 위해서 속성 앞에 레퍼런스 this를 덧붙인다. 멤버변수 앞에 this를 붙여야 값이 저장된다.this와 this( )의 용도this는 객체 자신을 가리키는 레퍼런스 변수(참조 변수)로, 자신의 객체에 접근할 때 사용된다. - 주로 멤버..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bAg9Jr/btsHVKBSgiV/MkgtXKZh357cYmmWXjuWR1/img.png)
학습 키워드- 캡슐화 공부한 내용캡슐화캡슐화란 쉽게 말하면 변수나 메서드들을 캡슐로 감싸서 안보이게 하는 정보 은닉 개념 중 하나이다.즉, 캡슐화는 객체의 속성(Field)과 행위(Meyhod)를 하나로 묶고, 외부로부터 내부를 감싸 숨겨 은닉한다. 또한 외부의 잘못된 접근으로 값이 변하는 의도치 않는 동작을 방지하는 보호 효과도 누릴 수 있다.자바에서는 대표적으로 protected , default , private의 접근제어자를 통해 구현이 가능하다.class Time { private int hour; // hour는 외부에서 접근하지 못하게private으로 선언한다. // Setter public void setHour(int hour) { if (hour 24) ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbn7xa/btsHWBiz9fG/VlSJJW3P7zbWRjc5KWkIxK/img.png)
학습 키워드- 면접(JAVA, CS 공부)준비 공부한 내용N+1 문제의 발생 이유와 해결 방법에 대해 설명해주실 수 있을까요? 해결 방법은 3가지 이상 말씀해주시면 좋습니다.→ N+1 쿼리는 jpa의 프록시로 인한 지연 로딩때문에 발생합니다. N+1 의 의미는 1개의 쿼리를 실행했을 때, 내부에 존재하는 컬렉션들을 조회해오면서 생기는 문제입니다. 이 문제를 해결하기 위한 방법은 첫 번째, Join Fetch를 사용하는 방법 두 번째, @EntityGraph을 사용하는 방법 세 번째, FetchType을 지연로딩에서 즉시 로딩으로 바꾸는 방법이 있습니다. Primary Key, Foreign Key에 대해 설명해주세요.→ Primary Key는 관계형 데이터 베이스 테이블에서 각 레코드를 고유하게 식별하기..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b3h7u1/btsHTEHPsWf/YAWamzFRoYkjFRdwG3cNQK/img.png)
학습 키워드- 애너테이션(Annotation) 공부한 내용애너테이션(Annotation) 이란?애너테이션은 코드 메타 데이터(자신의 정보를 담고 있는 데이터)이다.애너테이션은 주석처럼 프로그램에 영향을 미치지 않으면서 유용한 정보를 제공한다. 즉, 코드 사이에 주석처럼 쓰이며 부가적인 정보나 기능을 제공하는 것이다.애너테이션은 코드에 영향을 주지않는다.애너테이션의 용도애너테이션은 코드 문법 에러를 체크하도록 정보를 제공한다.코드를 자동으로 생성할 수 있도록 정보를 제공한다.특정 기능을 실행하도록 정보를 제공한다.애너테이션의 종류애너테이션은 크게 두 종류로 나뉘는데, 표준 애너테이션과 메타 애너테이션이다.표준 애너테이션자바에서 기본적으로 제공하는 애너테이션이다.표준 애너테이션 설명@Override해당 메서..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbwQbZ/btsHSvjkFvx/BAMV8ibqa5p00McUXswOg0/img.png)
학습 키워드- 절차 지향 프로그래밍 VS 객체 지향 프로그래밍 공부한 내용절차 지향 프로그래밍 VS 객체 지향 프로그래밍절차 지향 프로그래밍절차 지향 프로그래밍은 이름 그대로 절차를 지향한다. 실행 순서를 중요하게 생각하는 방식이다.절차 지향 프로그래밍은 프로그램의 흐름을 순차적으로 따르며 처리하는 방식이다. 즉, “어떻게”를 중심으로 프로그래밍 한다.객체 지향 프로그래밍객체 지향 프로그래밍은 이름 그대로 객체를 지향한다. 객체를 중요하게 생각하는 방식이다.객체 지향 프로그래밍은 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식이다. 즉, “무엇을” 중심으로 프로그래밍한다.차이절차 지향은 데이터와 해당 데이터에 대한 처리 방식이 분리되어 있다. 반면 객..