20200918-TIL

나영원·2020년 9월 18일
0

T.I.L.

목록 보기
35/145

오늘 할 일

  • 복습마무리 - 예외처리 보충까지
  • 알고리즘 한문제풀기
  • 질문사항 정리 및 해결
  • TiL 정리 및 블로그 업데이트

오늘 한 일

  • 어제 수업 복습 마무리

    • 내부클래스

      • 먼저 어제 하던 Map.Entry부터 이해하고 넘어가보자

        • Interface인데 내부클래스로 소개된게 무슨의미인지 아직 파악을 못했다..
        • Map.entryset()메서드가 value-key를 묶어서 Map.Entry의 객체로 만들어주는 것까지는 이해했는데 그러려면 Map.Entry가 클래스어야 되는데 얘는 Interface다...
        • 배보다 배꼽이 커지는 것 같아서 오늘은 여기까지만 알아보고 다음에 더알아보자
      • 스태틱 내부 클래스는 이제 것 보지 못한 신기한 존재인 것같다. 클래스가 스태틱이 되면서 외부클래스는 내부에서 객체를 생성해서 접근해야되고... 내부클래스인데 클래스명으로 접근이 가능하고..그냥 내부에 있지만 독립된 클래스라고 생각해도 될 것 같다

      • 로컬 내부클래스의 멤버변수가 생성될 수 없다는 것 까진 알겠는데 그럼 멤버 메서드는 어떻게 생성될 수 있는 걸까?

        • 이렇게 질문하고 나니 또 멤버변수는 힙영역에 있는데 왜 접근이 안될까 고민이 되기도 한다..

          • 멤버변수는 클래스영역에 멤버변수의 정보(변수이름, 접근제어자, 출력타입 등)가 저장되기 때문에 클래스영역이 없이는 접근할 수 없다
        • 상수는 생명주기가 없고 코드영역에 상수풀에 계속 존재하게 된다

        • 여기서 메모리 구조에 대해 보충 공부가 필요한 시점이되서 인터넷을 통해 여러 레퍼런스를 찾아보았다

          • jvm구조에 대해서 여러 글을 읽어보았는데 현재까지 아는것과는 크게 다르지 않은내용이었다. 여기서 더깊은 내용은 이해할 수 가없어서 강사님께 모르는 부분만 질문하는 걸로 넘어가야겠다
        • 강사님께 질문한 결과 내가 착각하고 있었음을 알 수 있었다. 내부 클래스는 멤버변수와 멤버 메서드를 생성할 수 있고 정적메서드와 정적변수를 생성할 수 없었던 것이다

- 익명 내부클래스를 3단계로 구현해주셨는데 들을 때는 이해가 잘갔는데 다시보니 잘모르겠다.. 강의를 다시들어야겟다

  - 다시듣고 람다식까지 포함한 예제를 정리하고 또 따로 연습삼아 구현해보니 어느정도 이해가 갔다
  - 평소에 외부클래스의 객체를 생성하던것을 내부클래스 만들어서 객체를 사용하고 그것도 생략해서 메서드내에서 객체를 생성해서 구현하고 그것도 생략해서 람다식 형태로 객체생성을 생략하고 메서드 내부구현만 하는것이었다
    - 강사님도 말씀하셨지만 객체지향적인게 아닌 함수형프로그래밍을 지향하기 때문에 낯설수밖에 없지만 잘받아들여봐야겠다

- 결론이 될 만한 말인지 모르겠지만 강사님게서 로컬내부 클래스가 스특에 정의된다는 말을 잘못설명한거고 정정하신다고하셨다.. 근데 클래스의 정의가 스택과 함께한다는 말이 무슨뜻인지 모르겠다

  - 프리코스를 빠르게 다시들어봤는데 컴파일에서 생성되는 파일 확인하는것 말고는 다른건 못찾아서 더 리서치가 필요한 부분같다
    - 구글에서 리서치하기!!

  

오늘 느낀 것

  • 강사님께 질문하는게 조금 부담스럽다. 아무래도 온라인으로 하다보니 답이 늦기도하고 타이밍이 안맞기도 하는데 그렇게 쌓이는 시간들이 부담으로 다가온다. 그래서 오프라인 수업때 몰아서 질문하는 것을 좋아했는데 참 아쉽다.
    • 그래도 이 시기에도 성장을 멈출순 없으니까 눈치가보여도 열심히 질문하고 어떻게든 해결해나가는 쪽으로 하자.
    • 그리고 스스로 알아내는 능력도 더길러서 혼자서 알아가는 방법도 성장시키자. 강사님이 계시는 학원에서만 이런 환경이 제공되는 거지 실무가서 누구잡고 이렇게 물어볼 수 있는 환경이 없을 수도 있다

내일 할일

  • 내부클래스, 상수풀, 클래스 생성시기 리서치
  • 알고리즘 한무
  • 알고리즘 한문제풀기
  • 질문사항 정리 및 해결
  • TiL 정리 및 블로그 업데이트
profile
배우는 개발 일기

0개의 댓글