[Java] 타입(Type) 그리고 변수와 상수

변수

 

변수(Variable)은 변할 수 있는 수로, 크게 세 가지로 구분된다.
▫ 지역변수 (Locla Variable)
▪ 지역변수는 메서드 내부에 선언되어있는 변수를 의미한다.
▪ 지역변수는 값이 초기화되어있지 않으면 값 대입을 제외한 그 어떤 접근도 할 수 없다.
▪ 동일한 스코프 혹은 보다 상위 스코프의 실행 기점이 보다 과거인 변수에만 접근할 수 있다.
▪ 매개변수를 포함하여( 접근 가능한 것들 중에)이미 사용중인 이름을 다시 사용하여 선언할 수 없다.
▪ 명명법 :  카멜 케이스
▪ 구조

[타입] [변수 이름];
혹은
[타입] [변수 이름] = [초기 값];
가령, 초기 값이 10인 정수형 변수 ten 을 선언하려면 아래와 같이 작성한다.
int ten = 10;

▫ 멤버변수 (Member Variable)
▪ 멤버변수는 클래스 내부에 선언되어있는 변수를 의미한다.
▪ 명명법 : 카멜케이스


▫ 매개변수 (Parameter)
▪ 매개 변수는 메서드의 매개 변수 구조에 선언되어 있는 변수를 의미한다. 
▪ 선언방법은 일반 지역변수선언과 그 방식이 동일하다.
▪ 명명법 : 카멜케이스
▪ 상수 (Constant) 는 존재하지 않는다. 읽기 전용(Read Only)만 있을 뿐.
그런데 편의상 상수라고들 함.

▫ 멤버상수(Constant Member)
▪ 명명법 : 카멜케이스


▫ 지역 상수 (= 지역 읽기 전용) (Local Final)
▪ 지역 상수는 해당 상수에 값이 최초로 대입된 뒤로는 값을 변경할 수 없더, 단 , 반드시 선언과 동시에 값을 초기화해야하는 것은 아니다.  
▪ 구조

[final][타입][변수이름];
final double pi = 3.14;
pi = 3.141592; // 오류가 발생한다.



타입

▪ 타입(Type)은 어떠한 값을 담을 수 있는 형태를 의미한다. 크게 두 종류로 나뉜다.
▫ 기초 타입(기본 타입, 원시 타입, Primitive Type) (8)
▪ 기초타입인 변수의 값은 메모리의 스택(Stack) 영역에 저장된다.

▪ 정수 타입(Integer Type)
▪ byte : (1 Byte) -128 ~ 127
▪ short : (2 Bytes) -32,768 ~ 32,767
▪ int : (4 Bytes) -2,147,483,648 ~ 2,147,483,647 //Maria DB의 int 타입의 범위와 똑같다.
▪ long : (8 Bytes) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

▪ 논리타입 (Logical, Boolean Type)
▪  boolean : (1 Byte) true 혹은 false.

▪ 실수타입 (Decimal Type)
▪ float : (4 Bytes) ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38)
▪ 계산 방식에 의해 소숫점 끝자리가 누락되거나 잘못 계산되는 일이 발생할 수 있어 사용하지 않는다.
▪ double : (8 Bytes) ±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d)

▪ 문자 타입(Character Type)
▪ char : (2 Bytes) 문자하나를 담기 위해 사용한다. 홑 따옴표로 감싸야 한다.
char familyName = '박';
▪ 하나의 문자 변수에 문자를 부여하지 않거나 ("), 한 개를 초과하는 문자를 지정할 수 없다.
▪ 쌍 따옴표를 사용하지 않도록 유의한다.

▫ 참조 타입(레퍼런스 타입, Reference Type)
▪ 참조타입인 변수의 스택(Stack)영역에 저장되는 값은 실제 갑싱 아닌 실제 값을 가리키고 있는 힙(Heap) 영역의 주소값이다.
▪ 참조 타입은 그 존재 자체가 클래스, 인터페이스(Interface) 혹은 열거형(Enumeration)인 것이다.
▪ 그렇기 때문에 그 종류는 무한하나 자주 사용하는 타입 몇 가지만 알아놓으면 됨.
▪ 문자열(String): 여러개의 문자 (Character)를 나열할 수 있는 타입니다. 쌍따옴표로 감싼다. // 열 = 나열, 문자열 = 문자를 나열 , 열차 = 차를 나열
▪ 

'Back > Java' 카테고리의 다른 글

[Java] 일반 문법(반복문)  (0) 2023.02.08
[Java] 연산자와 순위  (0) 2023.02.08
[Java] 클래스(Class)  (0) 2023.02.07
[Java] Java 기본 개념  (0) 2023.02.07
[Java] 공통  (0) 2023.01.31