BE/Java 53

[Java] static

`static`은 클래스 레벨에서 관리되는 요소를 정의할때 사용된다. `static`의 특징1. 클래스와 연관됨`static` 으로 선언된 요소는 클래스 로드 시 메모리에 올라가며 해당 클래스의 모든 객체가 공유한다.객체에 종속되지 않고 클래스 자체에 종속된다.2. 객체 생성 없이 사용 가능`static` 멤버는 클래스 이름을 통해 직접 호출할 수 있다.예 : `ClassName.staticMember`3. 메모리 공유`static` 변수는 한번만 메모리에 할당되며 모든 객체가 이를 공유한다.인스턴스 변수와 달리 개별 객체마다 복사본이 생성되지 않는다.`static`의 주요 사용처1. `static` 변수클래스 전체에서 공유되는 변수프로그램에서 일정한 값을 유지하거나 모든객체가 공통으로 사용하는 데이터를..

BE/Java 2024.11.30

[Java] 메모리 계산

자바 프로그램은 힙(heap)과 스택(stack)영역에서 메모리를 관리한다. 기본 데이터 타입 메모리 크기데이터 타입크기 (바이트)비고`byte`1-128 ~ 127`short`2-32,768 ~ 32,767`int`4-2³¹ ~ 2³¹-1`long`8-2⁶³ ~ 2⁶³-1`float`432비트 IEEE 754 부동소수점`double`864비트 IEEE 754 부동소수점`char`216비트 유니코드 문자`boolean`일반적으로 1바이트JVM에 따라 다름 참조 데이터 타입 메모리 크기참조형 타입은 힙 메모리에 저장된다.1. 객체 자체 (헤더 포함) : JVM구현에 따라 다르지만 일반적으로 객체 헤더는 12~16바이트를 차지한다.2. 인스턴스 변수 : 포함된 모든 인스턴스 변수의 크기를 합산.3. 패딩 :..

BE/Java 2024.11.30

[Java] 변수

데이터를 저장하기 위한 메모리 공간자바 변수의 특징1. 타입 지정변수를 선언할때 타입을 지정 해줘야 한다.int age = 20;String name = "민수";2. 스코프변수는 선언된 위치에 따라 사용 가능한 범위가 달라진다.지역 변수 : 메서드나 블럭 내부에서 선언된 변수로, 해당 블럭에서만 사용가능인스턴스변수 : 클래스 내부에서 선언되며 객체에 속함클래스 변수 : `static`키워드로 선언되며 클래스에 속함3. 초기화지역 변수는 초기화를 하지 않으면 사용할 수 없다.인스턴스 변수와 클래스 변수는 기본값(0, null 등)으로 자동 초기화 된다.4. 상수 변수final 키워드를 사용해 값을 변경할 수 없는 상수로 선언할 수 있다.(상수는 변수명을 대문자로 사용)final double PI = 3...

BE/Java 2024.11.30