본문 바로가기

Constructor

(3)
[Java] 인스턴스 생성과 생성자 호출 및 실행 과정 - Bytecode 실행과 Runtime Data Area의 변화 (2) 앞선, 1. 클래스 파일(.class)의 메모리 로드 과정 내용에 이어서 인스턴스(Instance) 생성과 생성자(Constructor) 호출 및 실행 과정을 다룰것이다. 생성자에 대한 내용은 Constructor에 설명되어있다. [Java] 1. 클래스 파일의 메모리 로드 과정 - Bytecode 실행과 Runtime Data Area의 변화OverviewJava 프로그램이 실행되면서 JVM의 메모리 구조는 어떻게 변화할까 궁금하였다. 해당 과정을 이해하기 위해, 바이트 코드를 명령어와 JVM의 Runtime Data Area와 맵핑시키면서 분석하였다. 또한devjohnpark.tistory.com Instance 생성소스코드 중, AddExample addExample = new AddExample(..
[Java] 변수의 초기화 초기화 되지 않은 변수 읽기변수를 읽을때 값이 저장되어있지 않으면, 컴파일 에러를 발생한다. 아래의 사진에서 보다시피, 초기화 되지 않는 변수 num를 선언 후에 읽어 들인다면 빌드가 실패한다. java: variable num might not have been initialized 변수가 초기화 되지 않았다는 에러문을 볼 수 있다.  build failed 에러를 살펴보면, compile failed errors: 1을 볼수 있다. 컴파일 에러가 발생한 것이다. 메모리 해제가 안된 메모리 공간을 할당 받을 수 있어, 변수 선언 후 초기화하지 않을시에 예상치 못한 값이 저장되어 있을수 있다. 그 값을 garbage value(쓰레기값)이라고 한다. 따라서 변수를 사용전에 항상 초기화를 해야한다.  해당..
[Java] 생성자 (Constructor) 생성자(Constructor) 개념과 하는일생성자(Constructor)는 인스턴스가 생성될때 호출 되는 인스턴스 초기화 메서드이다. 주로 인스턴스 변수의 초기화 작업에 사용되며, 인스턴스 생성시에 실행되어야 할 작업을 위해서도 사용된다. 생성자도 메서드이기 때문에, 구조도 메서드랑 거의 비슷하지만 리턴값이 없다. 따라서 void 키워드도 메서드명 앞에 붙지 않는다. 그리고 생성자 이름은 클래스 이름과 동일해야한다.class Coffee { // Constructor (생성자) Coffee() { } public static void main(String[] args) { Coffee coffee = new Coffee(); System.o..