5주차 회고록
1. 5주차를 시작하며
지난주와 마찬가지로 이번주도 자바 기초를 제어문 → 배열 → 객체지향(클래스/상속/다형성) → 필수 API 순으로 한 번에 묶어 복습·정리했다. 또 외부 공모전 제 15회 이루다 프로젝트 준비를 새로 시작했다.
2. 학습 내용
2-1. 자바: 제어문 리프레시
- if/switch: switch의 문자열/enum 분기, fall-through 주의.
- for/while/do-while: 인덱스·향상된 for 각각의 용도 재정리.
- break/continue(+ 라벨): 중첩 루프에서 조기 종료 패턴 체크.
2-2. 자바: 배열(1·2차원, 복사)
2-3. 자바: 클래스와 객체(캡슐화·생성자·오버로딩)
- 캡슐화: 필드는
private, 접근은 getter/setter(검증 로직 삽입 포인트).
- 생성자 체이닝과 복사 생성자로 초기화 중복 제거.
- 오버로딩 규칙: 시그니처는 이름+매개변수(타입/개수/순서), 반환형/접근제어자는 영향X.
static/final 의미와 공유 상태 vs 개별 상태 구분.
- 객체 배열로 동일 타입 인스턴스 일괄 관리.
2-4. 자바: 상속 · 다형성
- IS-A 관계에서만 상속,
super/super() 호출 타이밍 이해.
- 오버라이딩 성립 조건 & 접근제어자 범위(부모 ≤ 자식).
- **업/다운 캐스팅 &
instanceof**로 안전한 접근, 동적 바인딩 동작 확인.
- 동일 메시지(
move())로 서로 다른 동작을 끌어내는 다형성 이점 체감(확장성/결합도↓).
2-5. 자주 쓰는 API 한눈 정리(Object·String·Builder/Buffer·Wrapper·Time)
- Object:
toString(로그 가독성), equals/hashCode(컬렉션 키 규약) 반드시 짝으로 재정의.
- String: 불변. 비교는
equals, 분리는 split(regex, limit) vs StringTokenizer 차이 이해.
- StringBuilder/StringBuffer: 가변 문자열. 단일 스레드는 Builder 우선, 반복 연결은
append.
- Wrapper: 오토(언)박싱,
parseXxx/valueOf로 문자열 ↔ 기본형 변환.
- java.time:
LocalDate/Time/DateTime/ZonedDateTime 불변, parse/format & plus/minus/with 패턴 숙달.
3. 5주차를 되돌아보며
- 예제 코드를 캡슐화 → 상속/다형성으로 만들어보며 객체 지향적 사고에 대해 다시 복습했다.
- 객체 지형적 사고는 자바에서 중요한 개념이기 때문에 확실히 알아가는 것이 중요할 것이다.
- API는 대부분 아는 것들 이었지만, 까먹었거나 새로운 개념들을 다시 정리할 수 있었다.
- 기본적인 자바 지식들이라 다 아는 내용이라 생각했지만, 쪽지 시험을 보니 개념에 대해 주관식으로 적을려니 막히는 부분들이 몇 개 있었다. 개념적으로 더 복습해야겠다.
- 새로운 외부 공모전 준비를 시작했다. 우선 준비를 철저히해서 예선부터 통과해야 한다.
4. 아쉬웠던 점
- 자바 기본 지식 재점검
- 이루다 공모전 준비로 인해 코딩 문제 풀이 빈도가 다시 불규칙적이게 됨
5. 다음 주 목표
-
이루다 프로젝트 서류 준비
-
17일 수요일에 있는 PCSQL 시험 준비
-
자바 객체 지향 관한 개념 복습
-
코딩 문제 풀이 빈도를 늘리기
-
스프링 예습 마무리
이번 주는 기본기를 다시 익히는 한 주였다. 다음 주엔 외부 프로젝트 일정도 생겨서 더 바쁜 한주가 될 것 같다.