[인턴] [일상] 2. 적응기
업데이트:
5. 😁
오늘은 담당 멘토님께서 휴가를 가셔서 나랑 동기인턴이랑 하루종일 계산기 코드를 만졌다. 객체지향의 4대 특징과 Has-a 개념, Is-a 개념을 적용시켜 계산기를 만드는 토이(?)프로젝트다. 몇일동안 같은 코드를 계속 수정,보완하면서 고쳐나가는걸 얼마만에 하는지 모르겠는데 생각보다 너무 도움이 된다.
오늘 계속 고민한 문제를 끄적여보겠다.. Is-a개념을 적용시키기 위해 클래스끼리 상속을 사용했는데, 전체적인 구조는 계산->결과출력->결과값 이런 상속구조를 띄고있다. 나는 main에서 계산, 결과출력, 결과값에 해당하는 클래스의 객체를 각각 만들고, 결과값을 최종적으로 저장한 뒤에 결과출력 객체를 사용해 결과값에 접근해서 결과를 보이려고 했는데, 계속 이상한 값이 나왔다. 분명 결과값은 제대로 저장이 됐는데, 결과출력-> 결과값 이렇게 접근하니 오류가 났다. 그래서 고민x1000000번 하다가 아예 처음 계산한 클래스에 접근을 먼저해서 계산->결과출력-> 결과값 이렇게 값에 접근하니깐 정답이 출력됐다.
지금 이 문제에 대한 내 예상은 의존구조를 가질때 최하층 클래스부터 차근차근 상위 클래스로 접근하면서 값을 가져와야만 제대로 가져올수 있는것으로 보이는데 여쭤볼 수 있는 분이 없어서 내일 멘토님께 제대로 여쭤보려고 한다.. 뭐 아무튼 내 나름대로의 결과는 얻었으니 굉장히 만족한다..!
6. 😂
오늘은 살짝 이슈가 있었다. 비가 엄청많이 와서 출근시간에 혼동이 있어가지구.. 허허 아무튼! 오늘은 어제 짜던 계산기를 마저 짰는데 아직 부족한점이 많았다. 변수를 public으로 선언한것부터 ( 정보은닉이 안됨) 생각없이 super를 사용하고.. 멘토님께 여러 피드백을 들었다.
이후에 인터페이스와 추상클래스를 사용해서 계산기를 또 만들어봤는데, 기존에는 그냥 인터페이스 만들어서 메소드 넣고 implement해서 쓰고 추상클래스 만들어서 오버라이딩해서 쓰고 이런식으로 그냥 썼는데 그 본질을 모르고 썼었더라면 오늘 드디어 우리가 왜 인터페이스와 추상클래스를 쓰는건지 그 의미를 어느정도 깨달았다.
인터페이스나 추상클래스에 선언된 추상메소드는 상속받은 클래스에서 반드시 재정의 해줘야하는데 이런 불편함을 줄이고 사용자마다 필요한 기능을 다르게 정의하기 위해 추상클래스에 새로운 클래스를 선언하고 여기에 인터페이스를 상속받아 사용하는 방식을 배웠다.⚡ 이게 진짜 지리더만;
7. 😊
어제 까지 인터페이스, 추상클래스를 사용해서 계산기를 만드는 코드를 계속 작성했고 오늘은 디자인 패턴을 학습하고 적용시키는 과제를 받았다! 디자인 패턴을 공부해본적이 아예 없어서 되게 생소했는데 생각보다 중요한 개념이였다. 나는 Adapter 패턴을 계산기에 적용시켜보기로 했는데 이게 간단한 코드에 패턴을 적용시키려 하니 오히려 좀 더 복잡해 지는 결과가 나왔다. 근데 그게 당연한 결과라고 한다. 코드가 규모가 커질 수록 디자인 패턴이 효과적으로 작동한다. 실제로 실무에서도 디자인패턴은 많이 적용된다고 하니 디자인 패턴을 좀 더 공부해 볼 필요가 있어 보인다…!
8. 😊
이제 객체지향, 디자인 패턴에 대한 전반적인 공부가 끝이나서 jsp와 Servlet에 대해 공부를 한다. 사실 스프링을 공부하기 위한 사전지식 느낌으로 jsp 클론 코딩정도만 해본게 다라서 솔직히 어렵다. 멘토님께서 우리가 만들었던 계산기를 이제 jsp로 변경해서 만들어보라고 과제를 내주셨는데.. 이놈의 계산기만 2주째 만지고 있으니깐 약간 정신나갈거같다. 구글 검색 투닥투닥 하면서 jsp로 바꾸고는 있는데.. 후하
개념공부로는 Apache와 Tomcat의 차이, 웹서버와 WAS(Web Application Server)의 차이, Servlet의 작동원리를 배웠다. 아 얘네들 다 정리해서 블로그에 포스팅 해야하는데 언제하냐 진짜.. 일단 주말이랑 담주 월요일 쉬니깐 좀 쉬자..
댓글남기기