느리더라도 꾸준히

회고록 (11) - 생성자, 내부클래스 본문

(CodeStates)Daily memoir

회고록 (11) - 생성자, 내부클래스

테디규 2022. 11. 4. 23:22

1. 지금 현재, 당신의 기분이나 느낌을 표현해 주세요.

오늘은 평소에 내가 궁금하던 지식을 정리하고 블로그에 작성해보는 시간을 가졌다. 내가 궁금했던 질문을 조사하는 과정은 강의나 책을 그냥 읽는거 보다 즐거웠다. 다만 "이런 지식이 유용하게 쓰일수 있을까?" 라는 걱정이 들었다.

근데 냉정히 생각해보면 현재 내 개발 수준에 뭐가 유용한 정보이고 뭐가 유용하지 않는 정보인지 알까? 운동도 처음할땐 그냥 무식하게 해서 체력과 기본근력을 기르는게 답이다. 지금의 나는 아직 그런단계가 아닐까? 일단은 기본을 채우기 위해 뭐든 하고보자.

2. 오늘 무엇을 학습한 내용 중 지금 떠올릴 수 있는 단어를 모두 나열해 주세요.

생성자, 생성자 오버로딩, this, this(), 내부 클래스(인스턴스 내부, 정적 내부, 지역 내부 클래스 + 익명 내부 클래스)

3. 2에서 작성한 단어를 가지고, 오늘의 학습 내용을 설명해 보세요.

생성자

  • 생성자는 객체를 초기화하기위해 사용되는 특수한 메서드로 반환타입이 없는 특징을 가지고 있다.
  • 이런 생성자도 메서드처럼 오버로딩을 통해 개발자에게 편리함을 제공한다.(다형성)
  • 생성자로 생성된 객체는 this 키워드를 이용하여 자기 자신의 객체를 나타낼수 있다.
  • this() 메서드는 한 생성자 내부에서 다른 생성자를 호출하는 생성자로, 객체의 초기값을 설정하기위해 사용될 수 있다.

내부 클래스

인스턴스 내부 클래스

  • 인스턴스 내부 클래스는 외부 클래스의 인스턴스 멤버와 스태틱 멤버를 사용할수 있다.
  • 내부 클래스에서 선언한 인스턴스 멤버는 사용할수 있지만, 스태틱 멤버는 사용할수 없다.런타임보다 컴파일되면서 스태틱이 먼저 생성되기 때문이다.

정적 내부 클래스

  • 정적 내부 클래스는 외부 클래스의 스태틱 멤버만 사용할 수 있다. 컴파일때 생성되므로, 런타임때 생성되는 인스턴스 변수를 클래스 내부에 넣을수 없다.
  • 정적 내부 클래스에서 선언한 인스턴스 멤버와 클래스 멤버는 둘다 사용될수 있다.

지역 내부 클래스

  • 지역 내부 클래스(not static)는 외부 클래스의 인스턴스 변수와 스태틱 변수를 모두 사용할수 있습니다. 인스턴스를 생성해야 지역 내부 클래스도 생성 할수 있기에 인스턴스 변수와 스태틱 변수 모두 사용이 가능합니다.
  • 지역 내부 클래스는 지역변수를 선언하여 사용할수 있습니다만, 메서드 호출때만 사용 가능한 지역 변수를 스태틱으로 선언할 수는 없습니다.

4. 설명하기 어려운 단어가 있다면, 그 이유는 무엇인가요?

정리중이지만, JVM의 아키텍쳐를 이해하는게 참 쉽지 않은 것같다. 너무 많은 기능들이 들어있어서 그렇다고 생각한다.

5. 그 단어를 스스로 설명할 수 있기 위해서 누군가에게 질문을 한다면, 어떤 질문을 해야 할까요?

"JVM 아키텍쳐의 순서와 그림을 그려볼수 있는가?"

'(CodeStates)Daily memoir' 카테고리의 다른 글

회고록(14) - 컬렉션  (0) 2022.11.10
회고록(13) - 다형성, 추상화  (0) 2022.11.09
회고록(10) - OOP기초  (0) 2022.11.04
회고록(9)-배열  (0) 2022.11.03
회고록(8) - 제어문  (0) 2022.11.02
Comments