클래스와 객체(1)

mtak·2021년 4월 5일
0

Spring Study

목록 보기
1/13

명품 java programming라는 책으로 2번째 자바 공부를 시작했다. 백엔드에 들어가기 앞서 객체지향 언어에 대해 제대로 알아보는 시간이 되기를 바란다.

오늘은 4장 클래스와 객체에 처음 진입했고, 172 - 185 페이지 까지 읽었다. 인텔리제이 설정과 한가지 질문에 매달리느라 시간이 오버되었다.

  1. 객체의 가장 본질적인 특징인 캡슐화를 공부하면서 얻은 고찰은 다음과 같다. 나는 평소 코드를 짤 때 클래스(껍질)을 짜고 멤버(필드 + 메소드)를 작성했고, 이것은 캡슐화의 취지에 맞지 않다고 생각했다. 세상과 연결하면서도 단절시키는 클래스라는 껍질보다는 그 속을 구성하는 멤버를 먼저 하고 이후에 상속과 다형화를 고려하여 클래스로 감싸는데 맞지 않을까 생각한다.

  2. 다음의 코드에서 클래스내부에 메인 함수에서, 본인이 속한 클래스로 인스턴스(객체)를 만드는 것에서 뭔가 기괴함을 느꼈다. 그렇다면 new Circle()로 클래스의 멤버들을 메모리에 로드할 때 main도 메소드 중 하나니까 다시 한번 로드를 하는 것인가?
    @dohelee 님께서 다음의 링크들을 알려주셨다.
    https://m.blog.naver.com/heartflow89/220954420688
    https://nowonbun.tistory.com/303
    링크는 메소드가 아닌 필드(변수)들에 대해서만 다룬다. 다만 static이 붙은 변수들을 stack에 저장된다고 하니 만약 메소드가 변수 취급을 받는다면 컴파일 전에 스택에 올라가서 객체 생성할때도 메모리에 다시 로드 안되는게 아닐까?

profile
노는게 젤 조아. 친구들 모여라!!

0개의 댓글