나의개발일지
변수 본문
728x90
변수는 프로그램에서 데이터를 저장하는 그릇이고 Java의 기본적인 요소이다
타입지정
Java는 정적 타입 언어로, 변수의 데이터 타입을 선언해야 한다. 이는 컴파잉러가 변수의 타입을 미리 알 수 있도록 해준다. 이로써 코드에서 발생할 수 있는 타입 관련 오류를 방지한다
자바의 타입은 8개의 기본형타입과 참조형 타입으로 구분된다
타입 형 | 타입 |
논리형 | boolean |
정수형 | byte |
short | |
int | |
long | |
실수형 | float |
double | |
문자형 | char |
※ String은 기본형이 아닌 문자들의 배열인 문자열이므로 참조형이다.
인스턴스 맴버 변수의 특징
선언 위치
클래스 {} 영역에 선언
public class Person {
String name;
int age;
}
변수의 생성
객체가 만들어질때 heap에 객체별로 생서됨
변수의 초기화
타입별로 default초기화
변수에의 접근
객체 생성 후(메모리에 올린후) 객체 이름(소속)으로 접근
소멸 시점
Garbage Collerctor에 의해 객체가 없어질떄
클래스 맴버 변수의 특징
변할 수 있지만 거의 변하지 않는다 = static (final 과는 다르다)
선언위치
클래스 {}영역에 선언되며 static 키워드를 붙임
public class Person {
static String scientficName = "Homo Saiens";
String name;
}
변수의 생성
클래스 로더에 의해 클래스가 로딩 될 때 heap에 클래스 별로 생성
개별 객체의 생성과 무관하며 모든 객체가 공유하게 됨(공유 변수라고도 불림)
static으로 선언했으면 레퍼런스 접근이 아니라 클래스로 접근
지역 변수 & 파라미터 변수
선언위치
클래스의 영역 {} 이외의 모든 중괄호 안에 선언되는 변수들
void call(String to){
String beep = "띠";
for(int i=0; i<3; i++){
System.out.println(beep);
}
}
변수의 생성
선언된 라인이 실행될 때
생성 메모리 영역
stack의 메서드 프레임 내부
변수의 초기화
사용하기 전 명시적 초기화 필요
변수에의 접근
외부에서는 접근이 불가하므로 소속 불필요
내부에서는 이름에 바로 접근
소멸 시점
선언된 영역인 {}을 벗어날 때
728x90
반응형
'언어 > Java' 카테고리의 다른 글
오버로딩/오버라이딩 (0) | 2024.01.25 |
---|---|
상속 (0) | 2024.01.23 |
객체지향 (0) | 2024.01.16 |
배열 (0) | 2024.01.16 |
입출력(출력편) .for Java (2) | 2024.01.08 |