기본기가 중요하다는걸 새삼 느낍니다
오늘 신입 업무 일화
신입(나): 이거 대충 일케하면 고쳐져용
상사님: 여러군데 쓰이니까 부작용 생길 확률 생각해서 후처리 말고 과정 자체를 바꾸는 오버라이딩을 고려해
신입: 어 이거 깊은 복사를 어케하지 지원하는 메서드는 있긴한데 전체 깊은 복사는 안 되네... 반복문 돌려야 되나
상사님: 부모 클래스에 cloneable 없으면 못하는거임 그냥 앞단에서 만드는 메서드를 10번 호출해서 성능 테스트 해봐
기본기가 충실하면 보는 관점 자체가 다른 ㄷㄷ
저거 말고도 오버라이딩 고려하려고 외부 오픈 소스 라이브러리 연동된거랑 진행 구조 다 살펴보는데
객체 지향적 설계에 대한 개념이 없었다면 디버거, IDE 끼고 봐도 진짜 엄두도 못 내겠더라고요
돌이켜 생각해보면 좀만 똑똑했어도 문제가 되는 부분 재현을
맨 앞에서 하도록 코드 수정하고 디버깅 찍어봤을텐데
들어가는 객체 구조 자체가 복잡하고
메소드 스택 사이클 수천번은 돌아야 문제가 되는 부분 나오다 보니까
찾기 어려워하면서 졸다가 어떻게 감으로 찾았네요