오늘 한일

테크코스 1차 탈락 😢

온라인 코테 문제가 어렵지 않다고 생각했는데 탈락해버렸다. 2번 문제는 검토하다가 미완성 코드를 제출해버렸고.... 6번 문제가 틀린건가 ㅠㅠ

모집 중인 자바 교육 기관도 없는데 큰일이다. 살짝 멘탈이 흔들려서 회복한다고 리펙토링 관련된 책도 사고 캡틴 마블도 보고 왔다.

DP 문제 타일 장식물

프로그래머스에서 피보나치 수열 + DP 문제를 풀었다. 아직 많이 부족한 것 같다. 알고리즘 공부에 시간을 더 써야 하나...

자동차경주게임 피드백

아무래도 내가 리뷰어님에게 질문을 이상하게 했나보다. 나는 toString을 말하고, 리뷰어님은 참조값으로 알고 계셨다. 애초에 RacingCar 타입으로 NamedRacingCar를 복사한다는 발상 자체가 잘못이었다.

// RacingCar 
public static RacingCar copy(RacingCar car) {
    return new RacingCar(car.position);
}

// NamedRacingCar
public static NamedRacingCar copy(NamedRacingCar car) {
    return new NamedRacingCar(car.name, car.position);
}

강제로 형변환을 하지 않기 위해 이런 구조는 어떻겠냐는 피드백을 받았다.

RacingCar car = new NamedRacingCar("pobi");
NamedRacingCar.copy(car);
// RacingCar.copy가 호출됨

정적 메소드의 경우 컴파일 시점에 선언된 타입의 메소드를 호출한다. 자동차 객체를 사용하는 대부분의 클래스에서 자동차는 RacingCar 타입으로 선언되어 있기 때문에 정적 메소드를 이용하면 RacingCar.copy가 호출된다.

오버라이딩 가능한 인스턴스 메소드를 이용해야 하는건가? 이러면 다시 clone 으로 돌아가야 되는데..

오늘 느낀점

간단하게 생각하면 쉬운 길을 너무 복잡하게 가려는 것 같다.

내일 할일

  • 교육 기관 알아보기
    • 되도록이면 자바 교육 기관
    • 혼자 공부하는 것도 나쁘지 않을지도?
  • 그래프 관련 알고리즘 문제 한 개 풀기
  • 자동차경주게임 3단계 다시 피드백 반영하고 merge 요청하기
  • 로또 1단계 피드백 반영하고 리뷰 요청하기