JVM 메모리 구조 응용 프로그램이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받는다. JVM은 이 메모리를 용도에 따라 여러 영역을 나누어 관리한다. 3가지 중요 영역인 method area, call stack, heap 부분으로 나뉜다. 메서드 영역 프로그램 실행 중 어떤 클래스가 사용되면 , JVM은 클래스 파일(.class)를 읽어서 분석하여 클래스에 대한 정보(클래스 데이터) 를 이곳에 저장한다. 이때 그 클래스의 클래스 변수도 (class variables)도 이 영역에 저장된다. 힙 인스턴스가 생성되는 공간이다. 프로그램 실행 중 생성되는 인스턴스는 모두 이곳에 생성된다. 즉 인스턴스 변수들이 생성되는 공간이다. 호출스택(call stack, executio..
객체지향 6장 객체지향이론의 기본 개념 실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다. 실제 사물의 속성과 기능을 분석한 다음, 데이터(변수)와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 것과 같은 가상 세계를 구현하고 이 가상세계에서 모의 실험을 하여 많은 시간과 비용을 절약한다. 객체지향이론은 상속, 캡슐화, 추상화 개념을 중심으로 점차 구체적으로 발전되었다. 객체지향언어 몇 가지 새로운 규칙을 추가한 보다 발전된 형태이다. 주요 특징 코드의 재사용성이 높다. 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 코드의 관리가 용이하다. 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 신뢰성 높은 프로그래밍..
java 실행 자바는 javac라는 자바 컴파일러를 통해 .class 바이트 코드를 만든다. 다음의 바이트 코드를 java 명령어를 통해 실행가능하다. 이는 인터프리터로서 jvm이 이해할 수 있도록 동작한다. 변수 변수 : 변수는 값을 저장할 수 있는 메모리상의 공간을 의미한다. 지역 변수는 반드시 초기화를 해야하지만, 클래스 변수와 인스턴스 변수는 초기화를 생략할 수 있다. 변수의 이름 처럼 프로그래밍에서 사용하는 모든 이름을 식별자라고 한다. 예약어, 키워드는 식별자로 사용할 수 없다. 기본형과 참조형 기본형 : 실제 값을 저장 참조형 : 어떤 값이 저장된 주소를 지정한다. 즉, 객체의 주소를 저장한다. 4byte 주소 값을 갖게된다. 정수형 byte(1byte), short(2byte), int, ..