JAVA 잊을만한 Content
1. 2진수 <-> 16진수
- 1011 1111(2)
- 8421 8421
- OxBF
2. Wrapper class
3. DTO vs DAO
- DTO : 데이터베이스 레코드의 데이터를 매핑하기 위한 데이터 객체
--> DTO는 보통 data와 그 data에 접근을 위한 getter, setter만 갖고 있다.
- DAO : DB의 data에 접근하기 위한 객체
--> 데이터베이스 접근을 위한 로직과 비지니스 로직을 분리하기 위해 사용.
--> Mybatis에 connection pool이 있어서 잘 사용 하지않는다.
4. 같은 자료형 묶음
- 배열 : 동적할당 후 정적으로 사용.
e.g) int array[] = new int[5];
--> stack 영역 : array 주소 저장
--> heap 영역 : 5개 사이즈의 메모리를 동적으로 할당 후 주소 변환.
- stack 영역에는 하나의 주소만 저장 가능해서 heap에 실제 데이터가 저장된다.
5. for문
out : for(int i=0; i<5; i++{
if(i == 3) break out;
}
6. 오버로딩 오버라이드
- 메소드 오버로딩 : 메소드의 이름이 같아야한다. 메소드의 시그니처(파라미터 수, 타입)는 달라야한다.
- 오버라이딩 : 상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 재정의 하는 것이다.
7. ASCII 코드
- 97 ~ 122 : a ~ z
- 65 ~ 90 : A ~ Z
- 48 ~ 57 : 0 ~ 9
8. file
- 모든 파일의 최상단은 txt 파일
- dll : 프로그램 실행 시 필요할 때 읽어온다.
- lib : 프로그램 실행 시 바로 읽어온다.
9. try~catch
try{
//로직
} catch(Exception e{
//메시지 출력
} finally {
//무조건 실행
(rollback 자주 씀)
}
System.out.println(catch에 return만 안 되면 실행 가능);
10. 멤버변수와 static 변수 차이
- 객체가 2개 이상일 경우 멤버 변수는 초기화되고 static 변수는 메모리에 올라가 있어서 프로그램 종료까지 초기화 되지 않는다.
- static 변수는 객체 생성 안 하고 클래스를 통해서 바로 접근이 가능하다.
- 클래스 내 변수 : 멤버변수
- 메소드 옆 변수 : 매개변수
- 메소드 내 변수 : 지역변수
- static 변수 = 전역변수
11. Interface
- 자바의 다형성을 이용하여 개발코드 수정을 줄이고 유지보수성을 높인다.
- 일반 변수 및 메소드 추가 불가.
12. Generic, Templete
- Generic(제네릭) : 데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법.
public class Generic <T, V> {}
public class Main {
public static void main(String[] args) {
Generic<Sstring, Integer> a = new Generic<String, Integer>();
}
--> T는 String, K는 Integer가 된다.
13. Map
- Map > TreeMap > HashMap
- Key와 Value를 쌍으로 갖는다.
- TreeMap = HashMap + sorting
Iterator<Integer> it = map.KeySet().iterator();
while(it.hasNext()) {
String key = it.next();
String value = map.get(key);
}