내일배움캠프 24일차 TIL - Generic Static Method
·
내일배움캠프 Spring 5기
240521오늘의 학습     ●  1. Generic Static Method  오늘 공부를 하면서 의문점이 들었던 부분 자바 api문서를 보면서 의문이든 부분이 있었다. 기본적으로 자바에서 스태틱 메서드를 배울때는 아래의 예제 코드와 같이접근제어자 static여부 반환타입 메서드명(매개변수) 생김새로 배우게되고 가장 많이 보게 된다.// 기본적인 메서드 정의public static void Test(test) { }  하지만 api를 보다가 아래의 예제 코드와 같은 메서드를 보게 되었다. ( 이게 뭐지? )public static void Test(T test) { } 그래서 오늘은 이 문법에 대해 알아보고 나서의 리뷰를 작성하기로 생각을 했다. 제네릭 정적 메서드(Generic Static Met..
내일배움캠프 23일차 TIL - JVM
·
내일배움캠프 Spring 5기
240520오늘의 학습     ●  1. JVM 1. 자바 프로그램을 실행하기 위한 구성 요소 3가지2. JVM의 동작 원리3. 자바 프로그램의 생명주기 앞서 나가기 전에 알아두면 좋은점자바는 객체지향 프로그래밍 언어이며 절차적,구조적 프로그래밍 또한 지원하는 언어이다.절차적 : 코드를 순차적 즉, 절차적으로 진행한다는 의미이다.구조적 : 함수 즉, 메서드라는 개념을 통해 프로그램 흐름을 분기하는 개념이다. 유지보수가 좋아짐.0. 자바의 클래스와 객체의 차이사람이라는 클래스는 이름, 나이, 성별 이렇게 추상화된 요소를 가지고 있다. 사람이라는 클래스를 통해 객체를 만들면 이름 : 홍길동, 나이 : 230, 성별 : 남 이렇게 객체는 클래스를 구현했다고 봐도 무방하다. 즉, 객체는 클래스의 구현체인 셈이다..
내일배움캠프 22일차 TIL - Annotation
·
내일배움캠프 Spring 5기
240517오늘의 학습     ●  1. Annotation    ●  2. 리플렉션 개념    ●  3. Stream & Lambda  Annotation애너테이션이란?자바에서 주석처럼 프로그래밍 언어에 영향을 미치지 않으며, 유용한 정보를 제공하는 것이 애너테이션이다. 메타 애너테이션 메타 애너테이션은 애너테이션을 위한 애너테이션이다. @Target : 애너테이션이 적용 가능한 대상을 지정하는데 사용한다. @Documented : 애너테이션 정보가 javadoc으로 작성된 문서에 포함되게 한다. @Inherited : 애너테이션이 자손 클래스에 상속되도록 한다. @Retention : 애너테이션이 유지되는 범위를 지정하는데 사용한다. @Repeatable : 애너테이션을 반복해서 적용할 수 있게 한다..
내일배움캠프 21일차 TIL - Spring(IoC, DI)
·
내일배움캠프 Spring 5기
240516오늘의 학습     ●  1. 스프링 DI / IoC    ●  2. ComponentScan / Component    ●  3. Autowired 1. DI( Dependency Injection ) - 디자인 패턴DI는 객체지향의 디자인 패턴 중 하나이다.Dependency Injection는 "의존성 주입" 이라는 뜻을 가지고 있다. 1. 의존성 이란?클래스 내부에서 다른 클래스를 생성하면서 이용하는 것을 의존성 이라고 한다.2. 의존성 주입 이란?클래스 내부에서 다른 클래스를 생성하는 것이 아닌 만들어 놓은 객체를 받는 필드 같은 곳에 선언만해둔뒤 생성자나 메서드, 필드 등등을 활용하여 외부에서 객체를 생성해서 넣어주는 것을 의존성 주입이라 한다. 2. IoC( Inversion of..
내일배움캠프 20일차 TIL - Spring(API)
·
내일배움캠프 Spring 5기
240514오늘의 학습     ●  1. API    ●  2. Restful API     ●  3. Controller & RestController    ●  4. ModelAttribute     ●  5. RequestBody  1. API ( Application Programming Interface )시스템과 시스템간의 상호작용을 하기 위한 규칙이러한 규칙이 있기에 개발자는 복잡한 시스템의 내부 구현을 몰라도 특정 기능을 사용하거나 데이터를 주고받을 수 있습니다. 2. Restful APIREST(Representational State Transfer)자원의 이동에 대한 규칙을 의미한다. GET/POST/PUT/DELETERestful API는 웹 API의 한 종류이다.Restful AP..
내일배움캠프 19일차 TIL - Iterator
·
내일배움캠프 Spring 5기
240513# 오늘 꼭 기억 해야 할 것!오늘의 학습     ●  1. Iterator Iterator룰 사용하면 컬렉션의 list를 표준화된 방식으로 값을 뽑을 수 있게된다. 이게 만들어진 목적인거같다.즉, list, map, set 등등을 각자 다른 방식으로 값을 뽑게되는데 Iterator인터페이스를 통해 하나의 표준화된 방식으로값을 뽑는다는 의미이다. Iterator는 인터페이스이다. 컬렉션의 최상위 인터페이스인 Iterable인터페이스에 Iterator인터페이스를반환타입으로 둔 iteraotr() 추상 메서드가 존재한다. 즉, 구현해야하는 추상 메서드가 존재한다는 말이다.public interface Iterable { Iterator iterator();}이 추상 메서드를 직접 구현한 클래스는 ..
내일배움캠프 18일차 TIL - 람다(메서드 참조, 생성자 참조)
·
내일배움캠프 Spring 5기
240510# 오늘 꼭 기억 해야 할 것!오늘의 학습     ●  1. 람다 표현식 - 복습    ●  2. 함수형 인터페이스 - 복습    ●  3. 메서드 참조 / 생성자의 메서드 참조  람다 표현식의 메서드 참조 및 생성자의 메서드 참조1. 기본적인 람다 구조( 함수형 인터페이스 )2. 람다 메서드 참조3. 생성자의 메서드 참조 1. 기본적인 함수형 인터페이스를 구현한 람다 표현식 구조// Function => 함수형 인터페이스의 구조 @FunctionalInterfacepublic interface Function { R apply(T t); // 반환 타입 R , 넣을 값의 타입 T}// // 람다식을 이용해 인터페이스 구현 = 문자열 => Integer(정수형 변환)public st..
내일배움캠프 17일차 TIL - 함수형 인터페이스, 익명 클래스
·
내일배움캠프 Spring 5기
240509# 오늘 꼭 기억 해야 할 것!오늘의 학습     ●  1. 람다 표현식    ●  2. 함수형 인터페이스    ●  3. 익명 클래스    ●  4. 스트림 1. 함수형 인터페이스함수형 인터페이스는 람다식을 다루기 위해서 사용하는 것이다.함수형 인터페이스는 단 하나의 추상 메서드만 선언된 인터페이스이다.@FunctionInterface 애너테이션을 생략이 가능하지만 @Override처럼 함수형 인터페이스라는 것을 검증해주기 때문에꼭 붙혀 주는것이 좋다.@FunctionInterface // 함수형 인터페이스 검증 애너테이션public interface MyFunction { int max(int a, int b);} 2. 익명 클래스자바에서는 함수형 인터페이스와 익명클래스를 이용하여 클래스 ..
내일배움캠프 16일차 TIL - 개인 공부
·
내일배움캠프 Spring 5기
240507# 오늘 꼭 기억 해야 할 것!오늘의 학습     ●  1. 알고리즘 문제 풀이    ●  2. 조별 과제    ●  3. JVM문제 사이트(프로그래머스) : https://programmers.co.kr/문제1 ( 정수 제곱근 판별 ) Lv.1 : 87%임의의 양의 정수 n에 대해, n이 어떠한 양의 정수 x의 제곱인지 아닌지 판단하려 한다.n이 양의 정수 x의 제곱이라면 x + 1의 제곱을 리턴, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 만들어라. 나의 풀이class Solution { public long solution(long n) { long answer = 0; while(true) { // 제곱근을 찾았을 때 조건 ..
내일배움캠프 15일차 TIL - 과제 피드백(Calculator)
·
내일배움캠프 Spring 5기
240503오늘의 학습     ●  1. 자바 변수, 클래스, 메서드 네이밍    ●  2. 과제 한번 더 풀면서 복습하기( 다형성 및 예외 ) 과제 피드백(개선 사항)# 문제점 및 해결1. 변수 네이밍의 문제while문을 통해 반복을 진행하고 빠져나가는 조건으로 변수하나를 선언을 했지만 변수명이 직관적이지 못한점 수정2. 쓸때없는 구문 제거if문의 쓸때없는 else문 제거 if문으로 끝나는 경우 else가 필요없는 경우 제외하는 것이 오히려 보기 좋다.3. 메서드의 분리를 통해 가독성 + 클린코드 실천하나의 메서드의 하나의 기능만을 클린코드를 목표로 과제를 수정하였다. 훨씬 가독성이 좋아졌다.밑의 코드에서 두개의 메서드가 기존에는 while문 안에 전부다 들어가있었다. 지금은 두개의 메서드로 분리시켜서..