JAVA(77)
-
JPA
ORM - Object Rerational Mapping 객체 관계 매핑객체는 객체대로 설계관계형 db는 관계형 db대로 설계객체와 db 테이블을 매핑해주는 기술. ORM 되시겠다. JPA는 자바 진영 표준 ORM 기술이다. JPA 동작 순서1. DAO 요청 정보를 토대로 crud 등 sql 생성2. JDBC 에 생성한 sql 전달3. jdbc가 받아온 결과를 ResultSet 객체를 통해 매핑4. 패러다임 불일치 해결5. Entity 객체 생성 및 반환 JPA는 표준 명세(인터페이스)로 구현체로 하이버네이트, 이클립스링크, 데이터뉴클리우스 등이 있다. 거의 하이버네이트를 쓴다. sql 을 자동으로 생성해주기 때문에 객체답게 개발할수록 늘어나는 sql 작업이 줄어든다.그렇다. 객체답게 개발하기 쉽게 만들..
2024.11.06 -
enum 비교 연산은 equals() 보다 == 이 낫다
== 비교 연산 원시타입일 경우, 값 그 자체를 비교한다.참조타입일 경우, 인스턴스의 주소값을 비교한다. equals() 를 사용한 비교연산equals() 는 객체의 동등성을 비교할 때 사용된다.하지만 이는 비교대상이 되는 객체에 equals()를 오버라이딩하여 가능한 것으로,최상위 클래스 Object가 갖는 equals()는 결국 == 연산을 수행한다.public boolean equals(Object obj) { return (this == obj);} enum 비교enum은 상수로서 단 하나만 존재하는 객체이다.계속해서 만들어지지 않고, 객체마다 주소값이 다를 일도 없다.즉. equals()를 오버라이딩 할 필요도, equals() 메서드를 실행할 필요도 없다.==연산으로 손쉽게 비교가 가능하..
2024.08.10 -
Collections 유틸
Collections 는 자료구조를 다룰 때 여러 유용한 기능을 제공한다. max(), mix() 이라던가 저장 순서에 관여하는 sort()나,랜덤하게 바꿔주는 shuffle() 이라던가 등의 다양한 기능을 제공한다. of()List, Set, Map 과 같은 자료 구조에는 of() 생성자가 있다.List.of(자료1, 자료2, 자료3);Set.of(자료1, 자료2, 자료3);Map.of(자료1, 자료2, 자료3);of() 를 통해 생성된 자료구조는 '불변성'을 띈다.따라서, of() 메서드의 인자로 처음 값을 넣어 생성한 뒤로는 변경되지 않는다. 불변 자료구조가 필요할 때 적극 활용하자. 가변 자료구조가 필요하다면?자료구조 구현체의 생성자를 호출할 때 인자값으로 of()를 통해 만들어진 자료구조를 넘겨..
2024.08.03 -
정렬 - Comparatable, Comparator
순회에 Iteratable 과 Iterator 인터페이스가 있다면,정렬에는 Comparatable, Comparator 인터페이스가 있다. Comparatablepublic interface Comparable { public int compareTo(T o);}Comparatable은 말 그대로 '비교 가능한(비교 가능하게 해주는)' 인터페이스 이다.compareTo(T o); 메서드를 통해 자기 자신과 타겟의 값을 비교한다. 배열을 사용한 자료 구조에서,Arrays.sort() 메서드 사용 시, 자료구조에 담긴 객체들을 비교하여 정렬해준다.정렬된 순서는 1회용이 아니며, GC 처리될 때까지 유지된다. Collections.sort()배열을 보다, 쉽게 사용할 수 있게 해주는 Collection ..
2024.08.02 -
순회 - Iterable, Iterator
지금까지 List, Set, Map, Queue, Stack 등을 학습 했다.어떤 구현체는 배열, 어떤 구현체는 Node를 자료 저장소로 쓰기에접근 방식 또한 다르다. 데이터를 순회함에 있어, 사용자는 자료 순회만 할 수 있으면 된다.기능은 이미 구현 돼 있다. Iterable 인터페이스public interface Iterable{ Iterator iterator();}자료구조, Integer 등의 일부 래퍼클래스에는 Iteratable 이 구현 돼 있다.Iteratable 인터페이스는 해당 자료구조가 갖는 자료 저장소를 품은 Iterator 을 반환한다. Iterator 인터페이스그리고 이 Iterator는 hasNext(), next() 로 하여금 자료구조에 저장된 다음 데이터를 찾고 이동할 수 있..
2024.08.02 -
Map
Map 을 쌍으로 저장하는 자료 구조 순서 보장 - x중복 - key : 불가- value : 가능 key값을 통해 빠르게 검색이 가능하다. 구현체- Hashmap - LinkedHashMap- TreeMap 등 - Key 중복 시 값 덮어씌워짐put(Key, Value); put(key= 10, value = 100);put(key= 10, value = 1515); 아래와 같이 동일한 key 값으로 서로 다른 값을 넣을 경우,덮어쓰기 되어 key 10의 value 는 1515 가 된다. - HashMap 사용 시 Hashcode(), equals() 구현 필수HashMap 사용 시 Key 값으로 사용될 객체는 Hashcode(), equals() 가 꼭 구현 돼야 함.hash 알고리즘이 사용되는 만..
2024.08.02