전체 글 (125) 썸네일형 리스트형 제네릭에 대하여 제네릭을 소개하기에 앞서 왜 쓰는지부터 파악해보자. 컴파일 단계에 형이 다르면 컴파일을 중지하고 에러를 반환하는걸 강타입 언어, 그렇지 않은걸 약타입 언어라 한다. 자바는 강타입 언어이다. 그런데 열심히 클래스를 설계하고 보니 int형만 처리하는게 아닌 double, 심지어 객체까지도 처리해야하는 상황이 생기면 각 타입마다 메서드를 새로 만들어야 할 것이다. 코드의 중복은 최악이다. 따라서 이를 해결하기 위해 제네릭이란걸 만들었다. 제네릭은 무엇인가 제네릭의 사전적 의미는 데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법이다. 예를 들어 List 클래스는 Integer, Double 상관없이 받을 수 있다. 그렇다면 아무거나 상관없이 받는게 제일 좋은거 아닌.. JPA에서 Geometry 타입 데이터 저장하기 무엇을 구현할 것인가? 사용자의 위치에 따라 가까운 거리의 정보부터 보여주기 위해 좌표 값을 저장해야 함. 왜 구현할 것인가? DB 컬럼에 직접 double 데이터를 넣어 좌표계를 만들고 애플리케이션에서 정렬하는 방법이 있지만, RDB에서 이미 공간 정보를 저장하기 위한 데이터 타입이 따로 있기 때문에 확장성 관점에서 굳이 내가 바퀴를 직접 구현할 필요가 없다. RDB에서 인덱스를 구성하는 등의 검색을 위한 최적화를 시도해 볼 수 있다. 1. 대로 하여도 테이블의 row는 점점 늘어날 것이기 때문에 WAS에서 점점 부하가 많이 걸릴 것이다. 어떻게 구현할 것인가? 가까운 거리를 계산하기 위해선 다음과 같은 조건들이 필요하다. 1. 위치 정보를 저장하기 위해 통일된 좌표계가 필요함. 2. 임의의 두 점 사.. 일급 컬렉션에 대하여 일급 + 컬렉션의 의미로 나누어 생각했다. 일급의 의미는 일급 객체의 의미 (위키백과)를 참조했는데, 다음과 같다. 컴퓨터 프로그래밍 언어 디자인에서, 일급 객체란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 보통 함수에 인자로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 한다. 말이 어렵지만 정의는 간단하다. 변수에 할당(assignment)할 수 있다. 다른 함수를 인자(argument)로 전달 받는다. 다른 함수의 결과로서 리턴될 수 있다. 컬렉션은 자바에서 목록성 데이터를 처리하는 자료구조를 통칭한다. 일급 컬렉션이란 이러한 컬렉션을 자료구조로만 사용하는게 아닌 목적성을 가지고 의미있게 만드는게 목적이라 볼 수 있다. 그렇다면 왜 목적.. 이전 1 2 3 4 5 6 7 ··· 42 다음