🌱 오늘의 주제 : 자바와 객체 지향(2)
🌱 추상화와 T 메모리
- Mouse mickey = new Mouse ( );
Mouse mickey
// Mouse 객체에 대한 참조 변수 Mickey를 만든다.
=
// Mouse 객체에 대한 주소(포인터)를 참조 변수 mickey에 할당한다.
new Mouse( )
// Mouse 클래스의 인스턴스를 하나 만들어 힙에 배치한다.
- 스태틱은 "고정된"이라는 뜻을 가지고 잇다.
- 스태틱 영역에 올라간 정보는 main( ) 메서드가 시작되기 전에 올라가서 mian ( ) 메서드가 종료된 후에 내려올 정도로 스태틱 영역에 단단히 고정되어 있기 때문에 스태틱 영역이다.
- 스택은 선입후출구조, LIFO, FILO과 같은 형식 때문에 스택이라고 불린다.
- 힙은 대용량 자료를 저장할 수 있도록 메모리를 사용하는 방식 때문에 힙이라고 불린다.
🌱 클래스 멤버 vs. 객체 멤버 = static 멤버 vs. 인스턴스 멤버
- 객체는 유일무이하게 존재하는 실체이기 때문에 속성에 값을 가지고 있다.
- 클래스는 개념이면서 분류체계일 뿐이므로 속성에 값을 가질 수 없다.
클래스 멤버 = static 멤버 = 정적 멤버
객체 멤버 = 인스턴스 멤버 = 오브젝트 멤버
필드 = 속성= 프로퍼티(Property)
함수(Function) = 메서드(Method)
변수 공간 = 메모리 공간
<정적 메소드를 사용하는 경우>
1. main ( ) 메서드의 논리를 함수로 분할해서 사용하는 경우
2. 정적 변수에 대한 접근자 메서드(getter)와 설정자 메서드 (setter)로 사용
** 중요 **
이름 | 다른 이름 | 사는 곳(T 메모리) |
static 변수 | 클래스 (멤버)속성, 정적 변수, 정적 속성 | 스태틱 영역 |
인스턴스 변수 | 객체 (멤버)속성, 객체 변수 | 힙 영역 |
local 변수 | 지역변수 | 스택 영역 (스택 프레임 내부) |
🌱 느낀점
사실, 나는 그 동안, 용어를 이해하는데 있어서 어려운 점이 많았다. 용어가 다양하기 때문이다. 하지만, 이번에 공부를 하면서 용어 정리를 할 수 있어서 좋았다. 그리고 위에서 T메모리 구조에 대한 정확한 흐름의 사진은 올려놓지는 않았지만, 책에서 코드 하나하나 마다, 어떤식으로 T메모리 구조가 변하는지 자세히 설명되어 있어서 이 부분도 좋았다. 비록, 한번 더 읽어봐야 정확히 내용은 파악이 될 것 같지만, 지금까지만 읽어봤을 때는, 대략적인 흐름파악이 되었다. 객체지향코드의 입문자로써 좋은 책 인것을 다시 한번 실감한다.
'Spring > Book - 스프링 입문을 위한 자바 객체 지향의 원리와 이해' 카테고리의 다른 글
04. 자바가 확장한 객체 지향 (1) (0) | 2023.03.17 |
---|---|
03. 다형성: 사용편의성 (0) | 2023.03.16 |
03. 자바와 객체 지향 (1) (0) | 2023.01.17 |
02. 자바와 절차적 / 구조적 프로그래밍 (2) (0) | 2023.01.10 |
02. 자바와 절차적 / 구조적 프로그래밍 (1) (0) | 2023.01.05 |