본문 바로가기
패스트캠퍼스 국비지원 주간 학습 블로그

4주차 백엔드 부트캠프 회고

by LeeInGyu 2025. 7. 13.

4주차 부트캠프 회고

드디어 부트캠프에 참여한지 4주가 지났다. 이번 회고에서는 자바를 공부하는 중에 내가 부족했던 개념을 정리하였다.

4주차 배운 자바 개념

와 의 차이

  • 삭제시는 이동이 불필요한 LinkedList가 유리하다.
    • 단, ArrayList도 이동하지 않고 삭제할 수는 있다.

개념

  • 자바는 우선순위 큐를 지원한다.
  • 다차원 배열을 비교할 때는 deepToArray 를 활용할 수 있다.
  • 자바정렬시 값을 비교할 때, 빼기와 비교비교를 사용하는 이유는 속도는 조금 느리지만, 오버플로우 가능성 때문이다.
  • 해싱이란 함수를 이용한 읽고 쓰기이다.
  • Properties(String, String) 형식으로 저장해서 사용한다.

String 타입

  • StringComparable상속하고 있어 Array.sort(String[])가 가능하다.
  • default사전 순이다.

equals()

  • equals()변경(오버라이딩)hashcode() 메서드도 같이 변경(오버라이딩) 해주어야 한다.

Collections

  • collections 프레임워크는 Map()Set()부모 격이다.
  • HashSet(): 흔한 집합(set)
  • TreeSet(): 정렬범위검색에 유리한 집합(set)
    • DBindex와 유사하다.

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 객체로만 읽을 수 있다.
  • A instanceof B : A객체가 B객체의 인스턴스(조상 포함)인지 확인하는 기능

  • 타입 체크를 하지 않기 위해서 Generics(지네릭스)를 사용하기도 한다.

열거형

  • 객체 개수제한하는 것 이라고 할 수 있다.

주간 회고

  • Keep (유지할 것)
    • 강의실에서 잡담하지 않고, 내 할 것에 집중하기
  • Problem (문제인 것)
    • 잡담은 하지 않지만, 쉬는 시간이 1주차에 비해 많이 늘어난 것(10분에서 20분으로..)
  • Try (시도할 것)
    • 주간동안 할 일을 하루 단위로 쪼개서 관리해보기(아이폰 미리 알림으로 계획 관리!)

4주차 후기

점점 알아야될 자바 개념이 많아짐에 따라서 공부시간도 점차 늘려야 할 것 같다. 하지만, 너무 과하게 늘려서 컨디션은 나빠지지 않게 적당히 늘리자!