반응형
✅ 기본형 Primitive Type
기본형 변수는 실제 값 data을 저장한다.
기본형의 종류와 크기는 반드시 알아두어야 한다.
논리형
- boolean: 1 byte, true와 false 두 가지 값만 표현한다.
문자형
- char: 2 byte, 유니코드를 사용한다.
정수형
- byte: 1 byte
- short: 2 byte
- int: 4 byte, 정수형 기본
- long: 8 byte
실수형
- float: 4 byte
- double: 8 byte, 실수형 기본
💡 기본형 매개변수 Read Only
메소드를 호출할 때, 매개변수로 지정한 값을 메소드의 매개변수에 복사하여 넘긴다.
매개변수의 타입이 기본형 일 때, 기본형 값이 복사된다.
메소드의 매개변수를 기본형으로 선언하면, 단순히 저장된 값을 얻는다.
- d.x의 값이 변경된 것이 아니다.
- change 메소드 매개변수 x 값이 변경 된 것이다.
class Data { int x; }
class Ex6_6 {
public static void main(String[] args) {
Data d = new Data();
d.x = 10;
System.out.println("main() : x = " + d.x);
change(d.x);
System.out.println("After change(d.x)");
System.out.println("main() : x = " + d.x);
}
static void change(int x) { // 기본형 매개변수
x = 1000;
System.out.println("change() : x = " + x);
}
}
✅ 참조형 Reference Type
참조형 변수는 값이 저장되어 있는 주소 memory address를 저장한다.
자바는 참조형 변수 간 연산이 불가능하다.
💡 참조형 매개변수 Read & Write
매개변수의 타입이 참조형 일 때, 인스턴스 주소가 복사된다.
메소드의 매개변수를 참조형으로 선언하면, 저장된 값의 주소를 알 수 있어 값을 읽는 것과 변경하는 것이 가능하다.
- change 메소드의 매개변수가 참조형이기 대문에 값을 읽는 것뿐만 아니라 변경하는 것이 가능하다.
class Data2 { int x; }
class Ex6_7 {
public static void main(String[] args) {
Data2 d = new Data2();
d.x = 10;
System.out.println("main() : x = " + d.x);
change(d);
System.out.println("After change(d)");
System.out.println("main() : x = " + d.x);
}
static void change(Data2 d) { // 참조형 매개변수
d.x = 1000;
System.out.println("change() : x = " + d.x);
}
}
✅ 형변환 Casting
프로그램을 작성하다 보면 같은 타입뿐만 아니라 서로 다른 타입 간의 연산을 수행하는 경우가 있다.
연산을 수행하기 전, 타입을 일치시키기 위하여 다른 타입으로 변환하는 것을 형변환 Casting이라고 한다.
형변환 방법은 변환하고자 하는 타입을 괄호와 붙여주면 된다.
(타입)피연산자
형변환을 생략할 수 있다.
컴파일러가 생략된 형변환을 자동적으로 추가하는 경우가 있다.
기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환 된다.
큰 자료형의 값을 작은 자료형의 변수에 저장하려면 명시적으로 형변환 연산자를 사용하여 변환하여야 한다.
반응형
'기타 > 백엔드 기초' 카테고리의 다른 글
자바 Java | 배열(Array) 다루기: 선언, 생성, 접근, Arrays 클래스 활용 (0) | 2023.02.15 |
---|---|
자바 Java | break문과 continue문: 사용 방법과 주의할 점 (0) | 2023.02.15 |
자바 Java | 비교 연산자: 대소 비교, 등가 비교, 문자열 비교 (0) | 2023.02.15 |
자바 Java | 나머지 연산자 %: 음수 계산 규칙, 예외 처리 방법 (0) | 2023.02.15 |
자바 Java | 변수 Variable, 상수 Constant | 타입 변환 charAt(0), Integer.parseInt(), Double.parseDouble() | int, long, float, double, char, String (0) | 2023.02.15 |
자바 Java | 화면에 글자 출력하기 | print(), println(), printf() (0) | 2023.02.15 |
자바 Java | 이클립스 Eclipse 단축키 모음, println 단축키 sysout | import 자동 추가, 자동 들여 쓰기, 저장, 실행 (0) | 2023.02.15 |
자바 JAVA | java.lang.module.findexception 에러 해결 방법 | 간단한 방법, 프로젝트 생성 (0) | 2023.02.14 |