반응형

Develop/java 5

[백기선님의 자바 라이브 스터디] 12주차 - 애노테이션

www.youtube.com/watch?v=HLnMuEZpDwU 목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 (필수) 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 먼저 재미삼아 Annotation 발음에 대해서 이야기를 해주셨네요~ 어노테이션, 애너테이션, 애노테이션 다 상관없다고 합니다 :) 제 생각도 같아요. 중요한 건 이게 아니니깐요 ~ Annotation 의미 그대로 풀이한다면 주석입니다. 하지만 일반적으로 알던 주석 ( // ) 과는 다르게 @ 기호를 사용합니다. 소스 코드에 추가할 수 있고 메타데이터의 일종입니다. Annotation 용도 자바는 선언적 프로그래밍 방식입니다. Annotation이 없었을 땐 xml에 각 클래스를 ..

Develop/java 2021.03.05

[백기선님의 자바 라이브 스터디] 5주차 - 클래스

www.youtube.com/watch?v=HLnMuEZpDwU 목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 클래스 클래스란 변수와 메서드 집합체이며, 객체를 정의하는 설계도입니다. 객체란? 자바는 객체지향 프로그램입니다. 객체지향 프로그램에서 모든 데이터를 객체로 취급합니다. 하나의 예로 스토어가 있고 스토어에서 일하는 직원들이 있다고 가정해보겠습니다. 아래의 코드를 참조해주세요. public class StoreClass { private String storeName; // 변수 private String address; // 변수 /** * 메서드..

Develop/java 2021.01.04

[Java] if, else 에서 탈출해보자! interface활용

프로젝트를 진행하다보면 프로세스 로직에서 수많은 분기를 처리하기 위해 if, else가 무수히 달리는 것을 확인할 수 있습니다. 이번 글에서는 if, else를 최대한 줄이고 가독성을 높이는 작업을 진행해보겠습니다. 모든 예제 소스는 github에 올려두었습니다. 이번에 작성하는 글은 주관적인 생각입니다. 전 if, else가 많으면 확장성, 가독성이 좋치 않다고 생각하는 개발자1이기 때문에 이글을 작성합니다. 늘 그랬듯이 개발자는 소스를 보면 가장 이해가 빠르기 때문에 예제소스를 작성해보겠습니다. ProcessService.java @Slf4j @Service @RequiredArgsConstructor public class ProcessService { private final StoreReposi..

Develop/java 2020.12.03

[Optional] Java 유용한 Null 처리

Java 코드를 짜면서 가장 많이 발생하는 에러는 무엇일까?? 바로 NullPointException 입니다. 이 Exception을 최대한 줄일 수 있는 Optional에 대해서 정리하겠습니다. Java 8부터 Null처리로 Optional이 나왔다. 그러나 개발자들이 기대했던 것과 다르게 만들어져 말이 많았다.... NullPointException를 완벽하게 방어해낼 것이라는 예상과는 다르게 구멍이 있는 기능이다. Optional의 get()같은.. 그래서 주의사항이 26가지가 된다. 이 글에서는 주의사항에 다루기 전에 Optional이 무엇인지, 어떤 메소드가 있는지에 대해서 알아보겠습니다. Optional이란? T 타입의 객체를 Wrapper하는 Wrapper 클래스입니다. 코드를 작성하다보면 ..

Develop/java 2020.12.01

[ObjectMapper] Convert!! snake to camel, camel to snake

Restful API를 사용하다 보면 내가 만든 vo와 값이 다르게 넘어올 때가 있습니다. 그땐 vo.set.. vo.set.. vo.set... ObjectMapper를 사용하면 편리합니다. 모든 소스는 github에 있습니다. 개발자는 코드로 보는게 이해가 빠를 듯하여 코드위주로 작성하겠습니다. build.gradle plugins { id 'org.springframework.boot' version '2.3.4.RELEASE' id 'io.spring.dependency-management' version '1.0.10.RELEASE' id 'java' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' co..

Develop/java 2020.11.19
728x90
반응형