분류 전체보기

Java/live-study

(JAVA)백기선 라이브 스터디 7주차 : 패키지

목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스 패스 CLASSPATH 환경변수 -classpath 옵션 접근 지시자 1. package 키워드 package의 구조는 다음 그림과 같다. 이처럼 package 개념은 class 들을 모아놓은 폴더라고 말할 수 있다. 그럼 소스코드에서 package 키워드를 알아보자. 1. package 키워드란 현재 class가 위치하고 있는 구조의 위치를 나타낸다. 2. package 키워드는 항상 가장 첫 줄에 존재해야 한다. 즉 위의 그림처럼 BinaryTree 클래스는 live_study_05 -> option -> binaryTree라는 계층적 구조를 가지고 있다는 것을 명시해놓은 키워드라고 생각하면 된..

Spring/JPA

[JPA] 순환참조 해결하기(JackSon 동작원리)

이번에 개인 프로젝트를 진행 함에 있어 1:N , N:1 양방향 관계에서 발생한 순환 참조 이슈를 겪어 포스팅합니다. 순환 참조가 일어나는 이유부터 같이 알아봅시다. Spring boot는 @ResponseBody를 선언 할시 Object를 json 상태로 변환하기 위해 HttpMessageConverters에서 jackson 라이브러리를 이용합니다. 자 여기서 spring boot가 jackson을 이용하니 jackson의 직렬화의 동작방법을 간단히 알아봅시다. (www.baeldung.com/jackson-field-serializable-deserializable-or-not) 해석입니다. Jackson의 작동방법은 기본적으로 멤버 변수의 접근 지정자를 우선적으로 봅니다. public class M..

Java/live-study

[JAVA] 백기선 라이브 스터디 6주차 과제: 상속

목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 1. 자바 상속의 특징 1. 다중상속(Multiple inheritance)을 지원하지 않음 Class 다중상속을 지원하지 않음으로 extends 다음에는 하나의 class 이름만 표기. 2. 상속의 횟수에 제한이 없음 B 클래스는 A클래스를 상속받습니다 C 클래스는 A, B 클래스를 상속받습니다 D 클래스는 A, B, C 클래스를 상속받습니다 3. 계층 구조의 최상위에 있는 클래스는 Object 클래스임 모든 class는 object를 상속받도록 표현하지 않아도 컴파일러에 ..

자료구조

[JAVA] Tree 이진트리 구현

이진트리란 자식 노드가 최대 2개인 노드로 구성된 트리이다. -> 이 말을 해석 해보자면 부모 노드로 부터 자식노드가 0 ~2개 사이로 존재 할 수 있다. 더 자세히 그림으로 살펴보자. left(10) root(5) right(null) left(10) root(5) right(20) left(null) root(5) right(20) left(null) root(5) right(null) 이런 구조를 가질 수 있다. 그럼 위 그림을 통해 Node 구조를 만들어 보자. 1. 한개의 노드를 봤을때 Value 값이 필요함 2. 노드에서 는 left 노드 , right 노드 포함할 수도 있고 없을 수도 있다. private class Node { private Node left; private Node rig..

Java/live-study

[Java] 클래스(class) - 백기선 라이브 스터디 5주차

목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메서드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 Class 란 무엇인가? 클래스(class)는 객체 지향 프로그래밍(OOP)에서 특정 객체를 생성하기 위해 변수와 메서드를 정의하는 일종의 틀이다. (wikipedia에서는 이와 같이 정의하고 있다.) 그냥 간단히 말해서 어떤 사물들이 가지고 있는 특성들을 정의할 수 있는 큰 그릇이라고 생각하면 쉽다. 위에 그림에서는 class는 Account(계정) 이 되고 변수는 (계정 ID, 계정 PW , 이름 , 나이 , 사는 지역) 이 된다. 작성방법 접근 지정자 class 클레스명 { 필드 1 필드 2 } 위 그림을..

Java

[Java] Proxy 패턴이란? (Dynamic Proxy)

Prxoy Patten 클라이언트가 RealSubject(실제 서비스에 필요한 코드)를 직접 호출하지 않고 Proxy(대리인)를 호출하여 Proxy(대리인)로 하여금 RealSubject를 대신 호출시키는 디자인 패턴이다. 간단한 예를 들어보자. public class RealSubject { public void hello() { System.out.println("안녕하세요"); } public void bye() { System.out.println("다음에 만나요"); } } RealSubject 에는 hello() , bye()라는 중요한(?) 메서드가 있고 우리는 이 중요한 메서드를 서비스를 제공하기 전에 성능 측정을 해보고 싶다. 다음은 Proxy 패턴을 쓰지 않고 성능을 측정한 코드이다. ..

나만의공부(이슈정리)

[JAVA] live -study 대시보드 만들어보기 (gitHub 라이브러리 사용)

과제 1. live-study 대시 보드를 만드는 코드를 작성하세요. 깃헙 이슈 1번부터 18번까지 댓글을 순회하며 댓글을 남긴 사용자를 체크 할 것. 참여율을 계산하세요. 총 18회에 중에 몇 %를 참여했는지 소숫점 두자리가지 보여줄 것. Github 자바 라이브러리를 사용하면 편리합니다. 깃헙 API를 익명으로 호출하는데 제한이 있기 때문에 본인의 깃헙 프로젝트에 이슈를 만들고 테스트를 하시면 더 자주 테스트할 수 있습니다. member 라는 객체를 생성하여 정보를 담고 관리하는 쪽으로 개발 했다. 구현 Class public class live_board { public static void main(String[] args) { try { Map members =new HashMap(); Stri..

자료구조

[JAVA] Queue 란 ? Queue 구현해보기

Queue 먼저 집어 넣은 데이터가 먼저 나오는 FIFO (First In First Out)구조로 저장하는 형식을 말한다 queue 의 기본적인 구조는 위와 같지만 종류는 크게 2가지로 나뉜다. 1. 선형 Queue 일반 line 처럼 처음과 끝이 이어져 있지 않기 때문에 데이터를 꺼낼때마다 정렬을 하거나 , 배열의 크기를 증가시켜야 하기 때문에 효율적이지 않다. 구현class public class Queue { private int[] queueList; private int pollPointer; private int addPointer; private int size; public Queue(int size) { this.queueList = new int[size]; this.size = si..

jay Joon
'분류 전체보기' 카테고리의 글 목록 (10 Page)