1. 변수(Variable)
교재 p.52-63 2.2 변수와 자료형
1️⃣ 변수란?
값을 저장하기 위해 이름을 붙여 만든 메모리 공간
프로그램 실행 중에 값을 넣거나 바꿀 수 있는 저장소
2️⃣ 변수의 기본 개념
int age = 20;int→ 변수에 어떤 종류의 값을 넣을지(자료형)
age→ 변수 이름
20→ 변수에 저장된 값
3️⃣ 변수의 선언과 초기화
1) 선언
int score;⚠️ 초기화하지 않은 변수는 사용 불가
2) 초기화
score =90;3) 선언 + 초기화
intscore=90;4️⃣ 변수의 종류 (선언 위치 기준)
1) 지역 변수 (Local Variable)
- 메서드 안에서 선언
- 반드시 초기화 필요
- 메서드 종료 시 사라짐
void test() {
int x=10;
}2) 인스턴스 변수
- 클래스 안, 메서드 밖
- 객체 생성 시 메모리에 올라감
- 자동 초기화
class Person {
int age;
}3) 클래스 변수 (static 변수)
static키워드 사용
- 클래스 하나당 하나만 존재
- 모든 객체가 공유
class Person {
static int count;
}5️⃣ 변수 명명 규칙
✅ 가능
- 영문자, 숫자,
_,$
- 숫자로 시작 ❌
- 예약어 사용 ❌
✅ 관례 : 카멜표기법(camel case) ⭐
- 단어 경계를 대문자로 구분하며, 전체적으로는 소문자
int studentCount;
String userName;6️⃣ 상수 (final 변수)
- 값 변경 불가
final double PI=3.14159;📌 관례: 대문자 + 언더스코어
2. Call by Value 와 Call By Reference
1️⃣ Call By Value (값에 의한 호출)
1) Call By Value 란?
함수(메서드)에 값을 복사해서 전달하는 방식
함수 안에서 값을 바꿔도 원본은 변하지 않음
- Byte
- Int
- Double
- Boolean
교재 ‘Power JAVA’ p.55 표 참고
2) 예시
void change(int x) {
x = 100;
}
int a=10;
change(a);
System.out.println(a); // 10📌 이유
a의 값(10)이x로 복사
x만 바뀌고a는 그대로
3) 실습

package ex01;
public class Var01 {
public static void main(String[] args) {
byte a1 = 100;
int a2 = 2000000000;
double a3 = 1.5;
boolean a4 = true;
System.out.println(a1);
}
}
2️⃣ Call By Reference (참조에 의한 호출)
1) Call By Reference 란?
함수에 원본이 있는 주소(참조)를 전달하는 방식
함수 안에서 변경하면 원본도 변경
- String
교재 ‘Power JAVA’ p.60-61 참고
2) 예시
void change(int[] arr) {
arr[0] = 100;
}
int[] nums = {10};
change(nums);
System.out.println(nums[0]);// 100📌 배열의 주소를 전달 → 같은 객체를 가리킴
3) 실습

package ex01;
public class Var02 {
public static void main(String[] args) {
String a1 = "hellooooo";
System.out.println(a1);
}
}
3️⃣ 필기 정리

3. 교재 예제
1) 예제 2-1(p.60)
package ex02;
public class Light {
public static void main(String[] args) {
final double LIGHT_SPEED = 3e5;
double distance;
distance = LIGHT_SPEED * 365 * 24 * 60 *60;
System.out.println("빛이 1년 동안 가는 거리 : " + distance + " km.");
}
}
2) 예제 2-2(p.60)
package ex02;
public class AreaTest {
public static void main(String[] args) {
final double PI = 3.141592;
double radius, area;
radius = 5.0;
area = PI * radius * radius;
System.out.println("반지름이 5인 원의 면적은 " + area);
}
}
Share article