TIL #1 220127

Subeeen·2022년 1월 27일
0

Today I Learned

목록 보기
1/18
post-thumbnail

1월이 가기 전에 벨로그에 TIL을 써보기로 결심했다!
첫 번째 TIL이라 조금 어색하겠지만 쓰면 쓸수록 점차 익숙해지겠지.

오늘은 <스프링 입문을 위한 자바 객체지향의 원리와 이해> 1장과 2장을 읽었기 때문에, 머릿속에서 휘발되기 전에 정리해보려 한다.

JDK, JRE, JVM의 이해

JDK : Java Development Kit // 자바 개발 도구
JRE : Java Runtime Environment // 자바 실행 환경
JVM : Java Virtual Machine // 자바 가상 기계

객체지향 프로그램의 메모리 사용 방식

프로그램이 메모리를 사용할 때는, 코드 실행 영역과 데이터 저장 영역으로 나뉜다. 객체지향 프로그램에서는 데이터 저장 영역을 다시 세 개의 영역으로 분할해서 사용하는데,

<데이터 저장 영역>
스태틱 영역 - 클래스들의 놀이터. 클래스 멤버변수 할당 공간
스택 영역 - 메서드들의 놀이터. 지역변수 할당 공간
힙 영역 - 객체들의 놀이터. 객체 멤버변수 할당 공간

으로 나누어 사용하게 된다.

main() 메소드가 실행될 때 T메모리(데이터 저장 영역)에서 일어나는 일

public class Start {
	public static void main(String[] args) {
    	  System.out.println("Hello");
        }
    }
  1. java.lang 패키지를 T메모리 스태틱 영역에 배치
  2. 클래스와 임포트 패키지를 T메모리 스태틱 영역에 배치
  3. 스택 프레임이 스택 영역에 할당
  4. 메서드의 인자 args 를 저장할 변수공간을 스택 프레임의 맨 밑에 확보 - 메서드 인자(들)의 변수공간 할당
  5. System.out.println("Hello"); 명령문 실행
  6. main() 메서드의 끝을 나타내는 닫는 중괄호와 만나면 스택 프레임이 소멸된다.

필드vs속성, 함수vs메서드

Field = 필드 = 속성 = 프로퍼티 = Property
Function = 함수 = 메서드 = Method = 기능 = 행위

profile
백엔드 개발 공부 중!

0개의 댓글