📚 변수
변수는 데이터를 저장할수 있는 메모리상의 공간이다.
자바에서 변수는 4가지가 존재한다.
1. 인스턴스 변수
2. 클래스 변수
3. 지역변수
4. 매개변수
간단한 코드를 보며 얘기해보자.
public class variable {
int instanceVariable;
static int classVariable;
public void method(int parameter){
int localVariable;
}
}
인스턴스 변수: 클래스 내부에 선언되며, 객체가 생성될 때마다 각 인스턴스에 대해 별도로 할당됩니다.
인스턴스 변수는 객체의 상태를 저장하는 데 사용되며,
객체가 소멸할 때까지 존재합니다.
클래스 변수: static 키워드를 사용하여 선언된 변수로,
이 변수는 해당 클래스의 모든 인스턴스 간에 공유됩니다.
클래스 변수는 클래스가 메모리에 로드될 때 생성되고, 프로그램이 종료될 때 소멸됩니다.
매개변수: 메소드에 넘겨주는 변수로, 메소드 호출 시 제공되는 값을
메소드 내부에서 사용할 수 있도록 합니다.
매개변수는 메소드의 입력으로 작용합니다.
지역변수: 메소드 내에 선언되며, 메소드가 실행될 때 생성되고 메소드가 종료될 때 소멸합니다.
📚 자료형
변수가 데이터를 저장할수 있는 메모리 내의 공간이라면
자료형은 이 공간은 얼마만큼 줄지, 어떤 종류의 데이터를 받고 해석할지 결정한다.
자바에서 자료형은 크게 두종류다.
1. 기본 자료형
2. 참조 자료형 - new 를 사용하여 초기화하는 친구들 단,String은 new로 해도 그냥 ""로 해도 됨
📚 기본 자료형
총 8가지가 존재한다.
1. 정수형 : byte, short, int , long , char
2. 실수형 : float , double
3. 기타 : boolean
***
1byte = 8bit 로
총 2^8개의 상태를 나타낼수 있다.
char 는 c와 다르게 2byte로 유니코드 또한 저장가능하다.
실수형은 정확한 값을 저장하기 힘들기 때문에 간단한 계산외의
중요한 돈계산 등에는 사용하면 안된다.
boolean은 참과 거짓을 나타낸다.
📗 초기화
지역변수의 경우 사용시 초기화 해주지 않으면 오류가 발생한다.
그냥 초기화하고 사용치 않으면 괜찮지만 사용시에는 초기화를 해줘야한다.
public class dataType {
static int a;
public static void main(String[] args)
{
int b;
System.out.println(a);
System.out.println(b);
}
}
실행시 다음과 같은 오류가 발생한다.
인스턴스 변수의 경우에는 다르다.
초기화하지 않고 그냥 실행시 초기값은 0으로 자동 초기화된다.
public class dataType {
byte b;
short s;
int i;
long li;
float f;
double d;
char c;
boolean bl;
public static void main(String[] args)
{
int b;
dataType tmp=new dataType();
tmp.printInstance();
}
public void printInstance(){
System.out.println("byte = "+b);
System.out.println("short = "+s);
System.out.println("int = "+i);
System.out.println("long = "+li);
System.out.println("float = "+f);
System.out.println("double = "+d);
System.out.println("char = "+c);
System.out.println("boolean = "+bl);
}
}
실행시켜보면
char 는 \0000 즉 공백 출력중이다.
모두 0으로 초기화된 모습이다.
chapter 5의 경우 연산자가 c와 똑같기에 생략