728x90
[기본 개념] 1 | (2.4) JVM 메모리, 기본형/참조형 매개변수1 선언 위치에 따른 변수의 종류2 클래스변수와 인스턴스변수3 메서드4 메서드의 선언과 구현5 메서드의 호출6 return문7> JVM의 메모리구조8> 기본형 매개변수와 참조형 매개변수9 참조형 반환타입10 재귀호출11 클래스 메서드와 인스턴스 메서드12 클래스 멤버와 인스턴스 멤버간의 호출7. JVM의 메모리 구조 응용프로그램이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 그중 3가지 주요 영역(method area, call stack, heap)에 대해 알아보자. Method Area클래스 데이터(cv) 클래스 데이터Call..
[기본 개념] 1 | (2.3) 메서드 호출, RETURN 문1 선언 위치에 따른 변수의 종류2 클래스변수와 인스턴스변수3 메서드4 메서드의 선언과 구현5> 메서드의 호출6> return문7 JVM의 메모리구조8 기본형 매개변수와 참조형 매개변수9 참조형 반환타입10 재귀호출11 클래스 메서드와 인스턴스 메서드12 클래스 멤버와 인스턴스 멤버간의 호출5. 메서드의 호출 메서드를 호출하는 방법은 다음과 같다. 메서드이름(값1, 값2, ...) ; // 메서드를 호출하는 방법 print99danAll ( ) ; // void print99danAll ( )을 호출int result = add(3, 5) ; // int add(int x, int y)를 호출하고, 결과를 result에 ..
[기본 개념] 1 | (2.2) 메서드 선언/구현1 선언 위치에 따른 변수의 종류2 클래스변수와 인스턴스변수3> 메서드4> 메서드의 선언과 구현5 메서드의 호출6 return문7 JVM의 메모리구조8 기본형 매개변수와 참조형 매개변수9 참조형 반환타입10 재귀호출11 클래스 메서드와 인스턴스 메서드12 클래스 멤버와 인스턴스 멤버간의 호출3. 메서드 메서드가 작업을 수행하는데 필요한 값만 넣고 원하는 결과를 얻으면 될 뿐, 메서드가 내부적으로 어떤 과정을 거쳐 결과를 만들어내는지는 전혀 몰라도 된다. 즉, 메서드에 입력과 출력만 알면 된다. 메서드를 사용하는 이유1. 높은 재사용성(reusability) 이미 Java API에서 제공하는 메서드들을 사용하면서 경험한 것처럼 한번 만들어 놓은 메서드는 몇..
[기본 개념] 1 | (2.1) 선언 위치에 따른 변수 종류, 클래스/인스턴스 변수1> 선언 위치에 따른 변수의 종류2> 클래스변수와 인스턴스변수3 메서드4 메서드의 선언과 구현5 메서드의 호출6 return문7 JVM의 메모리구조8 기본형 매개변수와 참조형 매개변수9 참조형 반환타입10 재귀호출11 클래스 메서드와 인스턴스 메서드12 클래스 멤버와 인스턴스 멤버간의 호출1. 선언위치에 따른 변수의 종류 우선 변수는 클래스변수, 인스턴스변수, 지역변수 모두 세 종류가있다. 변수의 종류는 선언된 위치에 따라 결정되므로 어느 영역에 선언되었는지를 확인해야 한다. 멤버변수를 제외한 나머지 변수들은 모두 지역변수이며, 멤버변수 중 static이 붙은 것은 클래스변수, 붙지 않은 것은 인스턴스변수이다. publi..
[기본 개념] 1 | (1.3) 객체 배열, 클래스의 정의1 클래스와 객체의 정의 & 용도2 객체와 인스턴스3 객체의 구성요소 (속성 & 기능)4 인스턴스 생성 & 사용5> 객체 배열6> 클래스의 또 다른 정의5. 객체 배열 많은 수의 객체를 다뤄야할 때, 배열로 다루면 편리할 것이다. 객체 역시 배열로 다루는 것이 가능하며, 이를 '객체 배열'이라고 한다. 객체 배열 안에는 객체의 주소가 저장된다. Tv tv1, tv2, tv3 ; → Tv[ ] tvArr = new Tv[3] 길이가 3인 객체 배열 tvArr을 이와 같이 생성한다면, 각 요소는 참조변수의 기본값인 null로 자동 초기화 된다. 그리고 이 객체 배열은 3개의 객체, 정확히는 객체의 주소를 저장할 수 있다. ..
[기본 개념] 1 | (1.2) 인스턴스 생성1 클래스와 객체의 정의 & 용도2 객체와 인스턴스3 객체의 구성요소 (속성 & 기능)4> 인스턴스 생성 & 사용5 객체 배열6 클래스의 또 다른 정의4. 인스턴스의 생성 & 사용 저번에 TV클래스를 선언한 것은 TV설계도를 작성한 것에 불과하므로, TV인스턴스를 생성해야 제품(TV)를 사용할 수 있다. 일반적으로 다음과 같이 한다.클래스 변수명; // 클래스의 객체를 참조하기 위한 참조변수를 선언변수명 = new 클래스명(); // 클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장Tv t; // Tv클래스 타입의 참조변수 t를 선언t = new Tv(); // Tv인..
[기본 개념] 1 | (1.1) 클래스와 객체1> 클래스와 객체의 정의 & 용도2> 객체와 인스턴스3> 객체의 구성요소 (속성 & 기능)4 인스턴스 생성 & 사용5 객체 배열6 클래스의 또 다른 정의1. 클래스와 객체의 정의 & 용도 클래스의 정의 : 객체를 정의해 놓은 것, 객체의 설계도 클래스의 용도 : 객체를 생성하는 데 사용 객체의 정의 : 실제로 존재하는 것, 사물 또는 개념 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름 ㄴ 객체는 사물과 같은 유형의 객체, 공식이나 논리 같은 무형의 객체가 있다. 예를 들어, TV설계도(클래스)로 만든 TV(객체)을 만들 수 있다. 하지만 TV설계도(클래스)는 단지 TV(객체)를 만드는데만 쓰이며, TV설계도(클래스)를 통해 TV(객체)이 ..