본문 바로가기
반응형

java14

[엘레강트 오브젝트] 3.3 인자의 값으로 NULL을 절대 허용하지 마세요 이 내용은 엘레강트 오브젝트 를 읽으면서 정리한 내용을 포함하고 있습니다. NULL NULL 처리 방법 정리 관련해서 참고해볼 내용 코드 어딘가에 NULL이 존재한다면 커다란 실수를 저지르고 있는 것이라고 말한다. 사실, 전달할 객체가 없으므로 값이 없는 것으로 간주하세요 라는 의사를 표현할 수 있도록 사용자에게 진짜 객체 대신 NULL을 전달하도록 허용하는 것은 일반적인 방법이다. NULL NULL을 허용하는 find() 메서드를 구현하기 위해서는 다음과 같이 분기를 처리할 필요가 있습니다. public Iterable find(String mask) { if (mask == NULL) { // 모든 파일을 찾는다 } else { // 마스크를 사용해서 파일을 찾는다 } }객체를 존중한다면 다음과 같이.. 2023. 3. 22.
[Java] List와 ArrayList List와 ArrayList의 비교를 통해서 인터페이스와 구현체에 대해서 알아보도록 하겠습니다. 또한 이러한 구조의 문제점은 무엇이고 장점은 어떤 부분이 있는지도 확인해보도록 하겠습니다. 자바에서는 전체 사용자수, 오늘 등록한 주문수 등 복수의 형태의 데이터를 저장하여 활용하기 위해서는 List 를 사용합니다. 아래는 샘플 코드입니다. List lists = new ArrayList(); 그렇다면, 왜 이렇게 사용할까? 그 내용을 알아보기 위해 정리합니다. List List 는 선형 자료구조로 순서를 가진 항목들이 모여 있습니다. 먼저 List 는 Collection 의 하위 인터페이스입니다. public interface List extends Collection 2022. 7. 9.
[자료구조론] Queue 웹 개발자 일을 하면서 Queue 을 사용하는 경우를 겪어보지 못하였습니다. 대학교 2학년때 배웠던 데이터구조론에서 자료구조에서 배웠던 기억과 코딩 테스트를 준비하면서 배웠던 부분들을 제외하고는 실제 개발 환경에서는 사용해보았던 적이 없습니다. RabbitMq , Kafka 등 에서 사용되는 Queue의 모습을 볼 수 있지만, 사용해본적 역시 없습니다. 먼저 Queue에서 제공하는 개념을 확인하고 메소드를 정리해보려고 합니다. 궁극적으로는 RabbitMq 와 Kafka 를 이용한 실습예제까지 진행하는 것이 목표입니다. Queue 를 보고 가장 먼저 떠올린것은 롤러코스터에서 사람들이 줄을 스는 것이었습니다. (그림과는 무관합니다. 롤러코스터 안 타본지 엄청 오래되었네요.) 모든 소스 코드는 Github를 .. 2022. 4. 10.
[자료구조론] Stack 정리 웹 개발자 일을 하면서 Stack 을 사용하는 경우를 겪어보지 못하였습니다. 대학교 2학년때 배웠던 데이터구조론에서 자료구조에서 배웠던 기억과 코딩 테스트를 준비하면서 배웠던 부분들을 제외하고는 실제 개발 환경에서는 사용해보았던 적이 없습니다. Stack 의 자료구조는 마치 지금 내 책상위에 올려져 있는 책들과 비슷해보입니다. (물론 현재 제 책상은 아닙니다만…) 모든 소스 코드는 Github를 통해서 확인 가능합니다. - 소스바로가기 Stack이란? 이미지에서 보시는것처럼 Stack 은 쌓아올린다는 것을 의미합니다. Stack 특징 Stack 은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO) 입니다. 자료를 넣거나 뺄 수 있는 것은 top 이라고 하며, 이 top 에는 가장 최근에 들.. 2022. 4. 10.
[JPA] 상속 전략 정리 JPA에서 상속 관계 전략을 세우는 방법 정리 자바에서 상속의 대해서는 많이 접해보았지만 최근 JPA를 통해서 상속에 대해서 어떻게 대응을 해야되는지 공부를 하다가 관련 내용을 정리하려고 합니다. 자바 ORM 표준 JPA 프로그래밍에서는 다음과 같이 설명을 하고 있습니다. 관계형 데이터베이스에는 객체지향 언어에서 다루는 상속이라는 개념이 없다. 대신에 슈퍼타입과 서브타입 관계라는 모델링 기법이 객체의 상속 개념과 가장 유사하다. ORM에서 이야기하는 상속 관계 매핑은 객체의 상속 구조와 데이터베이스의 슈퍼타입 서브타입 관계를 매핑하는 것이다. 그렇다면 객체의 상속 관계 매핑을 위해서 어떻게 해야 할까요? 슈퍼타입 서브타입 논리 모델을 실제 물리 모델인 테이블로 구현하기 위해서는 3가지 방법을 선택할 수 .. 2022. 2. 6.
[JPA] @Enumerated 사용법 자바의 enum 타입을 엔티티 클래스의 속성으로 사용할 수 있습니다. 예를 들어, 실무에서 사용하였을때 주문의 상태를 임시저장, 진행중, 완료, 취소 등으로 주문의 상태의 따라서 분리할 수 있습니다. 그래서 각 주문의 상태를 enum으로 생성을 하였고 해당 enum 타입을 엔티티 클래스의 속성으로 설정할 수 있습니다. 사용법과 주의할점에 대해서 알아보도록 하겠습니다. 해당 내용을 정리하기 위해서 사용한 소스는 Github에서 확인하실 수 있습니다. - 소스 종류 @Enumerated는 enum의 값을 Database의 저장하는 방법을 2가지 제공합니다. 아래는 클래스 파일의 내용입니다. public enum EnumType { /** Persist enumerated type property or fie.. 2022. 2. 4.
반응형