선언 위치에 따른 변수의 종류
전역변수
- 클래스 내 어디서든 호출하여 사용할 수 있는 변수
- 초기화를 하지 않을 시 자동으로 0으로 초기화
전역변수의 종류
- 객체(인스턴스) 변수
- 클래스 영역에서 선언되며 클래스의 객체를 생성할 때 만들어짐
- 객체변수가 객체화 시킬 때 마다 서로 다른 저장공간을 가짐
- 객체화를 시켜서 호출해야만 사용이 가능
- 클래스(static) 변수
- 객체화 시키지 않고 사용 가능
- 여러번 객체화 시켜도 공통적인 저장공간을 가짐
객체가 만들어지면서 새로운 저장 공간을 가지는데
클래스 변수는 같은 공간에서 놀고
인스턴스 변수는 새로운 공간을 계속 만들어 논다
지역변수
- 함수 속에 선언하여 해당 함수 속에서만 사용 가능한 변수
- 초기화를 하지 않을 시 쓰레기 값을 갖는다
예시 )
a 는 전역변수로 클래스 내부의 어디서든 호출하여 사용 가능
b 는 지역변수로 print()함수 내부에서만 사용 가능
out() 함수 내에서 a와 b를 사용했을 때 b에서 오류가 나오는 모습
변수 이름 작성 팁
- 첫 번째 글자는 문자이거나 $ _ 이어야 하고 숫자로 시작 할 수 없습니다.
- 영어는 대소문자를 구분
- 예약어 사용 불가
- 첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫 문자 대문자 (camel case)
Camel case - 낙타의 단봉과 같이 문자열의 첫 문자를 제외하고 단어의 첫 글자 마다 대문자로 표현
ex) kimInGwang
Pascal Case- 낙타의 쌍봉과 같이 문자열의 첫 문자를 대문자로 표기하고, 단어의 첫 글자 마다 대문자 표현
ex) KimInGwang
Kebab Case - 모두 소문자로 표현 후 단어 사이를 -로 구분
ex)kim-in-gwang
Snake case - 소문자로 표현 후 단어 사이를 _ 로 구분
ex) kim_in_gwang
헝가리안 표기법 - 이름 앞에 변수 타입을 넣어주는 표기법
접두어의 종류는 ch(char), str(string),i(int),db(double),b(boolean)
ex) strInGwang
전역변수
- 클래스 내 어디서든 호출하여 사용할 수 있는 변수
- 초기화를 하지 않을 시 자동으로 0으로 초기화
전역변수의 종류
- 객체(인스턴스) 변수
- 클래스 영역에서 선언되며 클래스의 객체를 생성할 때 만들어짐
- 객체변수가 객체화 시킬 때 마다 서로 다른 저장공간을 가짐
- 객체화를 시켜서 호출해야만 사용이 가능
- 클래스(static) 변수
- 객체화 시키지 않고 사용 가능
- 여러번 객체화 시켜도 공통적인 저장공간을 가짐
객체가 만들어지면서 새로운 저장 공간을 가지는데
클래스 변수는 같은 공간에서 놀고
인스턴스 변수는 새로운 공간을 계속 만들어 논다
지역변수
- 함수 속에 선언하여 해당 함수 속에서만 사용 가능한 변수
- 초기화를 하지 않을 시 쓰레기 값을 갖는다
예시 )
a 는 전역변수로 클래스 내부의 어디서든 호출하여 사용 가능
b 는 지역변수로 print()함수 내부에서만 사용 가능
out() 함수 내에서 a와 b를 사용했을 때 b에서 오류가 나오는 모습
변수 이름 작성 팁
- 첫 번째 글자는 문자이거나 $ _ 이어야 하고 숫자로 시작 할 수 없습니다.
- 영어는 대소문자를 구분
- 예약어 사용 불가
- 첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫 문자 대문자 (camel case)
Camel case - 낙타의 단봉과 같이 문자열의 첫 문자를 제외하고 단어의 첫 글자 마다 대문자로 표현
ex) kimInGwang
Pascal Case- 낙타의 쌍봉과 같이 문자열의 첫 문자를 대문자로 표기하고, 단어의 첫 글자 마다 대문자 표현
ex) KimInGwang
Kebab Case - 모두 소문자로 표현 후 단어 사이를 -로 구분
ex)kim-in-gwang
Snake case - 소문자로 표현 후 단어 사이를 _ 로 구분
ex) kim_in_gwang
헝가리안 표기법 - 이름 앞에 변수 타입을 넣어주는 표기법
접두어의 종류는 ch(char), str(string),i(int),db(double),b(boolean)
ex) strInGwang
'Java' 카테고리의 다른 글
Java) final 키워드 (0) | 2022.12.17 |
---|---|
Java) 인스턴스 멤버 정적 멤버 (0) | 2022.11.26 |
Java) 문제 풀이 (0) | 2022.11.18 |
JAVA] 오버 로딩과 오버 라이딩 (0) | 2022.05.11 |
java] 클래스 - 메소드 (0) | 2022.04.18 |