자바(JAVA)

자바 - 변수와 자료의 형태

BlueNoa 2023. 8. 8. 18:56
728x90
반응형

<목차>

  1. 변수
  2. 자료형
  3. 추가 내용 - Heap영역이란?

 

 

반응형

• 변수

변수(Variable)란 데이터를 저장하는 메모리 공간을 뜻한다. 변수는 프로그램에서 사용되는 값을 보관하거나 조작하는 데 사용되며, 변수를 사용한 임시적인 저장과 처리를 할 수 있다.

변수를 선언하는 데 있어서 먼저 데이터 타입을 지정해줘야 한다. 데이터 타입은 변수가 저장하는 데이터의 종류, 크기를 정의한다. 

 

간단한 예시를 보면 다음과 같다.

// 기본 자료형 변수 선언 방법
int 변수명1; // 정수형 변수 선언
double 변수명2; // 실수형 변수 선언
char 변수명3; // 문자형 변수 선언
boolean 변수명4; // 논리형 변수 선언

// 참조 자료형 변순 선언
String 변수명5; // 문자열(String) 변수 선언
List<Integer> 변수명6; // 정수형 리스트 변수 선언
MyClass 변수명7; // MyClass 객체를 가리키는 변수 선언

 

또 변수의 이름을 지을 때는 규칙이 존재한다.

이는 파이썬과 관련된 게시글에서도 다뤘던 적이 있는데 일반적으로 공통되는 내용이다.

참고(게시글 중간쯤) - https://bluenoa.tistory.com/3

 

주석과 변수

· 파이썬의 주석 어느 프로그래밍 언어이든 주석 기능은 매우 중요하다. 처음 프로그래밍 언어를 공부하게 되면 가장 먼저 알아두어야 할 1순위라고 해도 무방할 정도다. 파이썬 이외에도 모든

bluenoa.tistory.com

1. 변수명은 숫자로 시작할 수 없다.

2. '_'와 '$' 이외의 특수문자를 사용할 수 없다. (예를 들어 마이너스(-)로 변수명을 시작하면 오류가 발생한다.)

3. if, int, String, class 등 키워드명을 변수명으로 사용할 수 없다.

 

변수명으로 사용 불가능한 키워드는 다음과 같다.

abstract  continue  for         new        switch
assert    default   goto        package    synchronized
boolean   do        if          private    this
break     double    implements  protected  throw
byte      else      import      public     throws
case      enum      instanceof  return     transient
catch     extends   int         short      try
char      final     interface   static     void
class     finally   long        strictfp   volatile
const     float     native      super      while

추가적으로 클래스와 메서드에도 이름을 짓는 규칙이란 게 존재한다.

 

클래스의 경우

1. 클래스명은 명사로 한다.

2. 클래스명은 대문자로 시작한다.

3. 여러 개의 단어를 조합하여 만들 경우 각 단어의 첫 번째 글자는 대문자여야 한다.(파스칼 케이스, Pascal Case)

 

메서드의 경우

1. 메서드명은 동사로 한다.

2. 메서드명은 소문자로 시작한다.

3. 여러 개의 단어를 조합하는 경우 맨 첫 글자를 제외한 나머지 단어의 첫 글자는 대문자를 써서 구분한다.(카멜 케이스, Camel Case)

 

728x90

• 자료형

자료형에도 종류가 있다. 기본 자료형(Primitive Data Types)참조 자료형(Reference Data Types)을 제공한다.

 

1. 기본 자료형(Primitive Data Types)

기본 자료형은 변수에 직접 값을 저장하는 자료형으로, 메모리에 실제 값을 저장한다.

기본 자료형은 총 8가지로 구분되는 데 다음과 같다.

 

정수형

byte : 8비트 정수(-128 ~ 127)

short : 16비트 정수(-32,768 ~ 32,767)

int : 32비트 정수(-2,147,483,648 ~ 2,147,483,647)

long : 64비트 정수(-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807)

 

실수형

float : 32비트 부동소수점(단정밀도, 대략 7자리 유효숫자)

double : 64비트 부동소수점(배정밀도, 대략 15자리 유효숫자)

 

문자형

char : 16비트 유니코드 문자 하나를 저장하는 자료형(0 ~ 65,535)

 

논리형

boolean : true 또는 false 값을 저장하는 자료형(1비트 크기지만 메모리에서는 최소 1바이트를 사용한다.)

 

2. 참조 자료형(Reference Data Types)

잠고 자료형은 객체의 주소를 저장하는 자료형으로, 실제 객체는 힙(Heap) 영역에 저장된다.

참조 자료형은 기본 자료형이 아닌 모든 클래스, 인터페이스, 배열 등이 포함된다.

참조 자료형을 선언하면 변수는 실제 객체가 저장된 메모리 주소를 가리키게 된다.

// 참조 자료형의 예시
String MyString = "Hi, Java!";
List<Integer> myList = new ArrayList<>();
MyClass MyObject = new MyClass();

String, List <Integer>, MyClass는 모두 참조 자료형이고, MyStirng, myList, MyObject는 실제 객체의 주소를 가리킨다.


• 추가 내용 - Heap 영역이란?

자바 프로그램의 런타임 메모리 중 하나로, 객체들이 동적으로 할당되는 공간이다. 힙 영역은 자바에서 new 키워드를 사용하여 객체를 생성할 때 사용되며, 모든 객체들은 힙 영역에 저장된다.

 

메모리는 크게 스택(Stack) 영역과 힙 영역으로 나누어지는데 스택 영역은 기본 자료형 변수와 메서드 호출 시에 사용되는 메모리를 저장하는 데 사용되는 데, 메서드 호출이 끝나면 해당 스택 프레임이 소멸된다. 반면, 힙 영역은 객체들이 동적으로 생성되고, 프로그램이 실행하는 동안 계속 유지된다.

 

힙영역은 자바의 가비지 컬렉터(Garbage Collector)에 의해 관리된다. 가비지 컬렉터는 더 이상 사용되지 않는 객체를 탐색하여 자동으로 제거한 후 메모리를 회수하는 역할을 한다. 이렇게 자동으로 힙 영역에서 자동으로 해제되므로 직접 메모리 관리를 해주지 않아도 된다. 또 힙 영역은 다수의 스레드에서 공유되는 메모리 영역이기 때문에, 스레드 간에 동기화 문제를 고려하여 프로그래밍해야 한다. 힙 영역은 가비지 컬렉션 되지 않도록 적절한 참조를 유지해야 되며, 스레드 안전성을 고려하여 데이터를 처리해야 한다.

728x90
반응형

'자바(JAVA)' 카테고리의 다른 글

자바 - StringBuffer 클래스  (1) 2023.08.11
자바 - 문자  (0) 2023.08.10
자바 - 소스코드(형태, 요소 등)  (0) 2023.08.01
자바 - 싱글톤 패턴(Singleton Pattern)  (0) 2023.07.22
자바 - Static(정적 메서드와 변수)  (0) 2023.07.07