식별자 중 데이터를 저장
What ?
변수
💡 프로그램은 많은 데이터를 저장하고 읽습니다.
프로그래밍 언어는 메모리 관리를 위해 데이터의 위치를 정합니다.
데이터를 저장할 메모리 주소에 이름을 붙여서 문제를 해결했습니다.
How?
변수 생성단계선언 단계
- 변수 선언이란 어떤 타입의 데이터를 저장할지 이름이 무엇인지 결정하는 행위입니다.
- 자바는 하나의 변수에 하나의 타입만 저장할 수 있습니다.
- 다른 타입의 데이터로 선언할 경우 에러가 발생합니다.
- 변수 이름은 규칙을 지켜 선언해야 합니다.
- 데이터의 타입과 이름만 결정하고 메모리에 할당되어 있지 않습니다.
-
public class Example { int x; // 선언만 한 상태 System.out.println(x); // 컴파일 오류 발생 (메모리 할당 x) }
초기화 단계
- 변수 초기화란 변수에 최초로 값을 대입하는 행위입니다.
- 값이 대입될 때 메모리에 할당되고, 메모리에 값이 저장이 되며, 이 값을 초기값이라고 합니다.
- 변수 선언과 동시에 초기값을 대입할 수도 있습니다.
public class Example{ int middleScore = 100; // 선언과 초기화 동시 int finalScore; finalScore = 90; // 선언 후 초기화 }
할당 단계
- 변수에 값을 저장하거나 덮어쓰는 행위입니다.
- 이미 초기화된 변수에 값을 대입하는 것은 할당입니다.
public class Example{ int score = 20; score = 100; // 값을 할당 }
Where ?
변수 활용출력문
- 문자열과 결합해 출력할 수 있습니다.
public class Example{ int score = 20; System.out.println("나의 점수는 " + score + "점 입니다"); } // 나의 점수는 20점 입니다.
연산식
- 변수에 값을 저장해 연산할 때 사용할 수 있습니다.
public class Example{ int myScore = 20; int yourScore = 80; int result = (myScore + yourScore) / 2; System.out.println(result); } // 50
값 복사
- 메모리 간에 값을 복사할 수 있습니다.
public class Example{ int score = 20; int result = score; System.out.println(result); int anotherScore = 100; int temp = score; score = anotherScore; anotherScore = temp; System.out.println(score); System.out.println(anotherScore); } // 20 // 100 // 20