Backend/Java

· Backend/Java
1. Mapstuct?? Java에서 데이터 매핑 작업을 쉽고, 빠르게 할 수 있는 라이브러리이다. 2. 설정 방법 build.gradle에 dependency를 추가한다. 주의! gradle version 4.6 미만은 설정 방식이 상이함. (참고 : https://mapstruct.org/documentation/installation/) // mapstruct implementation("org.mapstruct:mapstruct:1.5.3.Final") annotationProcessor("org.mapstruct:mapstruct-processor:1.5.3.Final") 3. Mapper Interface 만들기 Model 생성 시 유의사항이 있다. 모델은 getter가 있어야 하고 sette..
· Backend/Java
Java - Generic(제네릭) 1편 1. 서두 개발 혹은 설계를 하면서 자주 사용하지만 한번도 제대로 정리한 적이 없어 Generic 관련 내용을 정리하고자 한다. 2. 제네릭이란? 데이터 형식에 의존하지 않고 여러 데이터 타입을 사용할 yarisong.tistory.com 지난 제네릭 1편에서 기본적인 제네릭의 개념을 확인하였다. 이번 포스팅에서는 제네릭 심화 개념인 제네릭 제약에 대해 알아보자 한다. 1. 제네릭 제약의 필요성 일반적으로 제네릭 타입을 T로 하고 외부클래스에서 호출 시 파라미터를 각각 Integer, String 으로 보내게 되면 T는 보낸 타입에 따라 Integer, String이 된다. 또한, Person이란 클래스를 만들고 T 파라미터를 Person으로 보니면 T는 Pers..
· Backend/Java
1. 서두 개발 혹은 설계를 하면서 자주 사용하지만 한번도 제대로 정리한 적이 없어 Generic 관련 내용을 정리하고자 한다. 2. 제네릭이란? 데이터 형식에 의존하지 않고 여러 데이터 타입을 사용할 수 있도록 하는 것을 말한다. 클래스, 메소드에서 사용할 때 데이터 타입을 나중에 확정하는 기법이라고 생각하면된다. 제네릭은 Class, Method에 를 활용하여 구현한다. 3. 제네릭의 장점 그렇다면 왜 굳이 제네릭을 사용한는 것일까? 제네릭을 사용할 때의 장점은 다음과 같다. 강제적인 타입 변환이 발생하지 않아 성능 저하를 방지. -> 이론적으로는 오버헤드가 발생하여 성능 저하를 야기하지만 실제로는 미비하다는 의견도 존재함 중복 코드 제거, 코드의 재사용성을 높임. // 타입의 Class class ..
· Backend/Java
1. Java 7 Type Inference(타입 추론) : 타입이 정해지지 않은 변수의 타입을 자바 컴파일러가 유추하는 기능 //Java6 List list1 = new ArrayList(); //Java7 //별도 제네릭 없이도 String 타입임을 추론할 수 있게됨. List list2 = new ArrayList(); String in switch : switch-case문 에서 문자열이 가능 //case 문에 문자열 가능 swith (a){ case "test1": System.out.println("test1"); break; case "test2": System.out.println("test2"); break; default break; } Automatic Resource Manageme..
· Backend/Java
1. 서두 JAVA 개발, 혹은 공부를 하다보면 래퍼 클래스에 대해 자주 접하게된다. 래퍼 클래스란 무엇이고 왜 필요한지에 대해 정리를 해볼까 한다. 2. 래퍼 클래스(wrapper class)? wrapper란 우리가 흔히 영어에서 사용하는 것과 같이 무엇인가를 포장할 때 사용되는 단어이다. 자바의 자료형은 총 8개의 기본 타입이 있다. 이를 우리는 primitive type이라고 부른다. 때때로 기본형의 자료 타입을 객체화가 필요한데 기본형의 자료 타입을 객체화 해준 것을 래퍼 클래스라고 한다. 기본형과 래퍼 클래스는 다음과 같다. Primitive Wrapper Class byte Byte short Short int Integer long Long flat Float double Double ch..
· Backend/Java
디커플링을 위해서. - 디커플링: 클래스와 클래스간의 의존관계를 줄이는것.다시말해 커플링의 감소. - 커플링을 감소시키는이유는 향후 유지/보수를 용이하게 하고 변경에 따른 유연성을 확보하기 위함 입니다. - 인터페이스를 이용한 설계는 클래스의 구현보다는 인터페이스간의 구성에 중점을 두고 설계하기 때문에 커플링을 감소시킬수 있습니다. - 이러한 개념에서 나온게 DIP(Dependency Inversion Principle: 의존관계역전의 원칙)라는 객체지향설계의 원리가 나왔고 DIP개념이 발전한것이 IOC(Inversion Of Control:제어관계의 역행)와 DI(Dependency injection: 의존성주입)의 개념이 생겨났습니다.(어디까지나 제 생각입니다.)
야뤼송
'Backend/Java' 카테고리의 글 목록