WIL 02

·2023년 4월 10일
0

WIL

목록 보기
1/1

객체지향 프로그래밍?

  • 객체란, 세상에 존재하는 모든 것으로 특징과 행동이 있다.

  • 객체 지향이란, 객체 지향 모델링은 기능이 아닌 객체가 중심이 되며 "누가 어떤 일을 할 것인가?"가 핵심이 된다. 즉, 객체를 도출하고 각각의 역할을 정의해 나가는 것에 초점을 맞춘다.

  • 객체 지향 프로그램의 특징으로는 추상화, 캡슐화, 상속성, 다형성, 동적바인딩이 있다.

JVM

JVM : Java Virtual Machine 의 약자로 “자바 가상 머신” 이라는 뜻. 즉, 여러기기 위에 java 프로그램을 실행시킬 수 있는 가상의 기기.

  • 바이트 코드 : JAVA 프로그램 변환 코드. 내가 작성한 코드가 운영 체제가 읽을 수 있는 코드로 java 컴파일러(compiler)가 변환한 코드.

컴파일러 : java가 class로 변환되는 것

  • 인터프리터 : Java .class 코드 해석기

  • JIT 컴파일러 : 빠른 Java .class 코드 해석기

  • 메모리 영역 : Java 데이터를 저장하는 영역

  • 클래스 로더 : Java .class 바이트 코드를 메모리 영역에 담는 운반기

  • 가비지 컬렉터 : Java 쓰레기 청소기

  • JVM 방법 : JRE 설치(Java Runtime Environment 즉, 자바 실행 환경 이라는 뜻) JRE(JVM) 만 있다면 Java 프로그램을 실행만 가능.(.class로 변환)

  • JDK : ava Development Kit 즉, 자바 개발 키트 라는 뜻

  1. 컴파일러 가능 가능
  2. JRE의 기능 가능
  3. 디버깅하는 jdb 등의 기능 : 실행중인 프로그램의 코드 실행을 따라다니며 보기 가능.

힙영역(Heap Area)

  • 힙 영역은 메서드 영역와 함께 모든 쓰레드가 공유하며, JVM이 관리하는 프로그램 상에서 데이터를 저장하기 위해 런타임 시 동적으로 할당하여 사용하는 영역이다.
    즉, new 연산자로 생성되는 클래스와 인스턴스 변수, 배열 타입 등 Reference Type이 저장되는 곳. 참조형 변수의 원본이 저장된다.

스택영역(Stack Area)

  • 기본 자료형을 생성할 때 저장하는 공간. 임시적으로 사용되는 변수나 정보들이 저장되는 영역으로 참조형 주소값만 저장된다.
  • 스택 영역은 각 스레드마다 하나씩 존재하며, 스레드가 시작될 때 할당된다.

메소드 영역

  • 클래스 정보와 클래스 변수가 저장되는 곳.JVM은 클래스를 로드할 때 해당 클래스의 정보를 메서드 영역에 저장함. 공유 가능.

pc레지스터

  • 현재 실행 중인 JVM 명령어의 주소를 저장

네이티브 메서드 스택

  • 자바가 아닌 다른 언어로 작성된 네이티브 메서드를 실행할 때 사용하는 스택

0개의 댓글