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

3주차 부트캠프 회고 - 토끼가 짱이야

by LeeInGyu 2025. 7. 4.

3주차 부트캠프 회고

공부한 내용 요약

Code Rabbit의 PR 자동 리뷰

  • Github Apps? 를 연동해서 Code Rabbit으로 내 코드를 자동으로 리뷰하도록 했다!

잼민이(Gemini) 파이썬 연동

  • 잼민이 API를 파이썬으로 연동해서 챗봇을 만들어 보았다.

예외 처리

  • Checked 예외 vs Unchecked 예외: 컴파일러가 체크하는 예외는 checked 예외이며, 그렇지 않은 것은 unchecked 예외입니다.
  • throws: 필수 예외(Exception)만 명시합니다.
  • try-catch-finally:
    • try 블록은 예외가 발생할 수 있는 코드를 감쌉니다.
    • catch 블록은 예외가 발생했을 때 실행됩니다.
    • finally 블록은 예외 발생 여부와 상관없이 항상 실행됩니다.
  • throw: 예외를 발생시키는 데 사용되며, return과 유사한 역할을 합니다.
  • 예외 처리 전략: 큰 단위의 예외 처리 후, 필수 예외를 처리하고 선택 예외를 처리하는 순서를 따릅니다.
  • catch(Exception ae)if(ae instanceof Exception) 는 동일한 의미로 사용됩니다.
  • Exception.printStackTrace()를 통해 예외 발생 지점을 추적할 수 있습니다.

인터페이스

  • implements 키워드는 인터페이스를 상속받을 때 사용되며, 다중 상속이 가능합니다.

Object 클래스 관련

  • finalize()는 객체가 제거될 때 자동으로 호출되며, 개발자가 직접 호출하거나 오버라이딩하지 않습니다.
  • equals() 메소드:
    • 주소가 같으면 같은 객체입니다.
    • 인스턴스 변수가 같으면 유사한 객체로 간주할 수 있습니다.

패턴 변수 (Pattern Variable)

  • JDK 16부터 if문에서 사용한 인스턴스를 그대로 사용할 수 있는 기능이 추가되었습니다.

타입 변환 관련 개념

  • 인베리어트, 코베리어트, 콘트라베리어트: 타입 간 관계를 설명하는 개념입니다.
  • String 클래스: 불변(immutable) 클래스의 대표 예시입니다.

디자인 패턴

  • Flyweight 패턴: 캐시된 데이터를 활용해 성능을 높이는 디자인 패턴입니다.
  • Spring의 핵심 디자인 패턴:
    • Singleton
    • Flyweight
    • Prototype

오토박싱 & 언박싱

  • JDK 5 이후, Integer 객체와 int 타입 간 연산이 가능해졌습니다.

객체 유틸리티

  • Objects.requireNonNull(obj, text)를 통해 객체가 null인지 검사하고, null인 경우 메시지를 반환할 수 있습니다.

객체 비교

  • equals()는 객체를 비교합니다.
  • deepEquals()는 2차원 배열 등 깊은 비교를 수행할 수 있습니다.

var 타입

  • 컴파일러가 변수의 타입을 추론하여 자동으로 대체해주는 기능입니다.

멀티라인 문자열

  • """ """를 사용해 줄바꿈이 포함된 문자열을 처리할 수 있습니다. (파이썬의 ''' '''은 사용 불가)

Prototype 디자인 패턴

Factory 매서드 패턴

  • 팩토리 메서드 패턴이란 객체의 생성 책임을 따로 두는 방식이며, 여러 종류의 객체 중 하나를 동적으로 선택해야 할 때 유리한 패턴입니다.

회고

이번주의 잘한 점은 당연하지만 공부량이 전보다 늘었다는 것!. 못한 점은 말을 더 부드럽게 하거나 돌려말하는 방법을 배워야 할 것 같다는 것!. 4주차 때 도전해볼 것은 LLM을 좀 더 자세하게 파보기!.

이번주의 한 줄 평

Code Rabbit의 시(poem)는 정말 최고야.