개발공부/객체 지향의 원리와 이해 5

[객체 지향의 원리와 이해] - 3단원

모든 메모리는 각자의 주소를 가지고 있다. 객체 참조 변수가 더 이상 힙 영역에 존재하는 객체를 참조하지 않으면 가비지 컬렉터가 쓰레기로 인식하여 수거해 간다. 스태틱을 왜 스태틱이라고 할까? 스태틱은 "고정된" 이라는 뜻을 가지고 있다. 스태틱 영역에 올라간 정보는 main() 메서드가 시작되기 전에 올라가서 main() 메서드가 종료된 후에 내려올 정도로 스태틱 영역에 단단히 고정돼 있기 때문에 스태틱 영역이라고 한다. static 키워드가 붙은 속성을 클래스 맴버 속성이라고 한다. static 키워드가 안 붙은 속성은 객체 맴버 속성이라고 한다. 정적 속성인 경우 T 메모리의 스태틱 영역에 클래스가 배치될 때 클래스 내부에 메모리 공간이 확보된다. 필드 = 속성 = 프로퍼티 출처 - 스프링 입문을 ..

[객체 지향의 원리와 이해] - 3단원

클래스와 객체를 구분하는 간단한 방법은 나이를 물어보는 것이다. ex) 사람의 나이는 몇 살인가 ? 김연아의 나이는 몇 살인가 ? 클래스는 분류에 대한 개념이지 실체가 아니다. 클래스 : 객체 = 펭귄 : 뽀로로 = 사람 : 김연아 = 쥐 : 미키마우스 애플리케이션 경계(컨텍스트) = "내가 만들고자 하는 애플리케이션은 어디에서 사용될 것인가?" 모델링 = 추상화란 구체적인 것을 분해해서 관심 영역에 있는 특성만 가지고 재조합하는 것. -> 지구본을 보자. 지구를 정확히 표현하는가? 지구의 굴곡과 바다, 기후를 지구본에 다 표현할 수도 없으며, 그럴 필요도 없다. 모델은 실제 사물을 정확히 복제하는 게 아니라 목적에 맞게 관심 있는 특성만을 추출해서 표현하는 것이다. 모델은 추상화를 통해 실제 사물을 단..

[객체 지향의 원리와 이해] - 2단원

지역 변수 : 스택 영역에서 일생을 보낸다. 클래스 멤버 변수 : 스태틱 영역에서 일생을 보낸다. 객체 맴버 변수 : 힙에서 일생을 보낸다. "외부 스택 메모리에서 내부 스택 프레임의 변수에 접근하는 것은 불가능하나 그 역은 가능하다." 멀티 스레드 : T 메모리 모델은 스택 영역을 스레드 개수만큼 분할해서 쓰는 것. 멀티 프로세스 : 다수의 데이터 저장 영역, 즉 다수의 T메모리를 갖는 구조다. 출처 - 스프링 입문을 위한 자바 객체 지향의 원리와 이해

[객체 지향의 원리와 이해] - 2단원

int i 라는 명령은 메모리에 4바이트 크기의 정수 저장 공간을 마련하라는 것이다. if문을 실행하면 main() 메서드의 스택 프레임 안에 if 문의 블록 스택 프레임이 중첩되어 생성된다. if 블록 중 참일 때의 블록을 종료하는 닫는 중괄호를 만나면 if 블록 스택 프레임은 스택 영역에서 사라진다. 느낀점(배운점) 교제에서는 메모리의 상태를 그림을 그려가며 공부하게 구성되어 있는데 변수를 아래와 같은 방식으로 그려놨는데 처음에는 큰 의미가 없다고 생각했었지만 나중에 더 깊이 생각해보니 이 T 메모리 구조에서는 " int i = 10 " 이라고 했을 때, i 라는 변수를 먼저 할당(생성)하니까 바깥 사각형으로 표시를 한 것이고, 그 다음에 값이 들어오니까 또 사각형으로 표현을 한 것이다. 한마디로 하..

[객체 지향의 원리와 이해] - 2단원

자바 개발 도구인 JDK를 이용해 개발된 프로그램은 JRE에 의해 가상의 컴퓨터인 JVM 상에서 구동된다. 코드 실행 영역 데이터 저장 영역 --> 프로그램이 메모리를 사용하는 방식 JRE는 먼저 프로그램 안에 main () 메서드가 있는지 확인한다. JRE는 Start 클래스에서 main 메서드를 발견할 수 있을 것이다. main() 메서드의 존재가 확인되면 JRE는 프로그램 실행을 위한 사 전 준비에 착수한다. 가상의 기제인 JVM에 전원을 넣어 부팅하는 것이다. 부팅된 JVM은 목적 파일을 받아 그 목적 파일을 실행한다. JVM이 맨 먼저 하는 일은 전처리라고 하는 과정이다. 모든 자바 프 로그램이 반드시 포함하게 되는 패키지가 있다. 바로 java.Iang 패키지다. JVM은 가장 먼저 java...