4주차 부트캠프 회고
드디어 부트캠프에 참여한지 4주가 지났다. 이번 회고에서는 자바를 공부하는 중에 내가 부족했던 개념을 정리하였다.
4주차 배운 자바 개념
와 의 차이
- 삭제시는 이동이 불필요한
LinkedList가 유리하다.- 단,
ArrayList도 이동하지 않고 삭제할 수는 있다.
- 단,
개념
- 자바는 우선순위 큐를 지원한다.
- 다차원 배열을 비교할 때는
deepToArray를 활용할 수 있다. - 자바는 정렬시 값을 비교할 때, 빼기와 비교 중 비교를 사용하는 이유는 속도는 조금 느리지만, 오버플로우 가능성 때문이다.
- 해싱이란 함수를 이용한 읽고 쓰기이다.
Properties는 (String, String) 형식으로 저장해서 사용한다.
String 타입
String은Comparable을 상속하고 있어Array.sort(String[])가 가능하다.- default는 사전 순이다.
equals()
equals()를 변경(오버라이딩)시hashcode()메서드도 같이 변경(오버라이딩) 해주어야 한다.
Collections
collections프레임워크는Map()과Set()의 부모 격이다.HashSet(): 흔한 집합(set)TreeSet(): 정렬과 범위검색에 유리한 집합(set)- DB의
index와 유사하다.
- DB의
Generics 지네릭스
Object타입의 타입 체크를 위해서 지네릭스를 사용한다.타입 안정성
타입 체크와 형변환을 하지 않아도 된다.
지네릭스 타입은
T로 표현한다.class Box<T> : Box은 윈시타입,T는 지네릭 클래스T타입은static키워드를 사용할 수 없다.T타입이 결정되는 시점보다static이 결정되는 시점이 우선이기 때문이다.컴파일러는 지네릭 타입을 이용해서 소스파일을 체크하고, 필요한 곳에 형변환을 넣어준다.
?의 명칭은 와일드 카드라고 한다.3가지 분류
- Invariant(무공변) : 그 타입만 허용,
List<Dog>와List<Animal>은 호환되지 않음 - Convariant(공변): 읽기 전용,
List<? extends Animal>는Animal하위타입을 받을 수 있다. 하지만 읽기 전용이라 값 추가시 컴파일 에러가 발생한다. - Contravariant(반공변): 쓰기 전용,
List <? super Dog>-Dog의 상위타입을 사용 가능. 하지만 쓰기만 가능하고 읽기는Object객체로만 읽을 수 있다.
- Invariant(무공변) : 그 타입만 허용,
A instanceof B:A객체가B객체의 인스턴스(조상 포함)인지 확인하는 기능타입 체크를 하지 않기 위해서 Generics(지네릭스)를 사용하기도 한다.
열거형
- 객체 개수를 제한하는 것 이라고 할 수 있다.
주간 회고
- Keep (유지할 것)
- 강의실에서 잡담하지 않고, 내 할 것에 집중하기
- Problem (문제인 것)
- 잡담은 하지 않지만, 쉬는 시간이 1주차에 비해 많이 늘어난 것(10분에서 20분으로..)
- Try (시도할 것)
- 주간동안 할 일을 하루 단위로 쪼개서 관리해보기(아이폰 미리 알림으로 계획 관리!)
4주차 후기
점점 알아야될 자바 개념이 많아짐에 따라서 공부시간도 점차 늘려야 할 것 같다. 하지만, 너무 과하게 늘려서 컨디션은 나빠지지 않게 적당히 늘리자!
'패스트캠퍼스 국비지원 주간 학습 블로그' 카테고리의 다른 글
| 6주차 부트캠프 회고 (3) | 2025.07.27 |
|---|---|
| 5주차 부트캠프 회고 (4) | 2025.07.20 |
| 3주차 부트캠프 회고 - 토끼가 짱이야 (2) | 2025.07.04 |
| 백엔드 13기 2주차 - 객체 생성, 디자인 패턴, null 타입 (4) | 2025.06.29 |
| 백엔드 13기 1주차 - 자바(Java)와 객체지향의 기초 (1) | 2025.06.20 |