아예 모르는 내용은 아니지만, JAVA에 대해 다시 공부하면서 정확하고 더욱 오래 기억하고자 기록하게 됐다. 🔍 자바의 메모리 구조메서드 영역(Method Area): 프로그램을 실행하는데 필요한 공통 데이터(클래스 정보, static 영역, 런타임 상수 풀)를 관리한다. 해당 영역은 프로그램의 모든 영역에서 공유한다.클래스 정보: 클래스의 실행 코드(바이트 코드), 필드, 메서드와 생성자 코드 등 모든 실행 코드가 존재static 영역: static 변수들을 보관한다.런타임 상수 풀: 프로그램을 실행하는데 필요한 공통 리터럴 상수를 보관한다.스택 영역(Stack Area): 자바 실행 시, 하나의 실행 스택이 생성된다. 각 스택 프레임은 지역 변수, 파라미터, 중간 연산 결과, 메서드 호출 정보 등을..
이 글을 쓰게된 이유는 자바에 대해 처음부터 제대로 공부하기 위해 김영한님 자바 강의를 듣고 있는 중이다.자바 강의를 들으면서, 함수 정의에 대한 부분이 나왔고, 학부 시절에 C++ 강의를 들을 때 배웠던 swap 함수가 생각이 났다. 그래서 단순히 'JAVA에서는 swap을 어떻게 구현할까?'라는 생각이 들었다. C++에서는 참조형 변수를 받아서, 파이썬에서는 그냥 변수를 바꿔 대입해주면 된다.자바는 그럼 어떻게 구현할 수 있을까? 🔍 자바에서는 SWAP을 어떻게 구현할까?자바에서는 항상 변수의 값을 복사에서 대입한다. 위 내용을 명시하자.자바에서 변수에 값을 대입하는 것은 변수에 들어 있는 값을 복사해서 대입하는 것이다.기본형이면 변수에 들어 있는 실제 사용하는 값을 복사 해서 대입하고, 참조형이면..
JAVA자바 컴파일과 실행 과정에 대해 알아보자(07/02)자바에서 SWAP 구현하기(07/03)자바의 메모리 구조에 대해 알아보자(07/03)main() 메서드는 정적 메서드이다(07/05)자바는 다중 상속을 지원하지 않는다(07/05)추상 클래스와 인터페이스에 대해 알아보자(07/07)
자바의 컴파일 및 실행 과정에 대해 이미 알고 있지만, 더 정확하게 알고 오래 기억하기 위해 글을 작성하게 됐다!실제 어떤 기업 기술 면접을 볼 때, 실제 해당 부분에 대해 질문을 받기도 했다. 🔍 자바의 컴파일 & 실행 과정자바 프로그램은 다음과 같은 컴파일과 실행 단계를 거치게 된다.Hello.java와 같은 자바 소스 코드를 개발자가 작성한다.자바 컴파일러를 사용해 소스 코드를 컴파일 한다.이때, 자바가 제공하는 javac라는 프로그램을 사용한다..java 파일로 .class 파일을 생성한다.자바 소스 코드를 byte code로 변환하며 자바 가상 머신에서 더 빠르게 실행될 수 있게 최적화하고 문법 오류도 검출한다.자바 프로그램을 실행한다.자바가 제공하는 java라는 프로그램을 사용한다.자바 가상..