티스토리 뷰
Java - Variable Types (tutorialspoint.com)
Java - Variable Types
Java - Variable Types A variable provides us with named storage that our programs can manipulate. Each variable in Java has a specific type, which determines the size and layout of the variable's memory; the range of values that can be stored within that m
www.tutorialspoint.com
1. 로컬변수
: 메서드, 생성자 또는 블록에서 선언됨.
: 메서드, 생성자, 블록을 입력해서 로컬변수를 만들고 벗어나면 변수가 삭제됨.
: 만약 메서드에서 정의했다면 해당 범위는 정의된 메서드에서만 사용됨.
//변수의 초기값이 없을 때 error
public class Test {
public void pupAge() {
int age;
age = age + 7;
System.out.println("Puppy age is : " + age);
}
public static void main(String args[]) {
Test test = new Test();
test.pupAge();
}
}
=> int age =0; 으로 최기화를 해주고 사용해야함.
2. 인스턴스 변수
: 매소드, 생성자 또는 블록의 밖에서 선언됨.
: 클래스 수준에서 사용 전후에 선언할 수 있음.
: 인스턴스 변수에 접근성이 부여된 정적메소드의 경우, 완전한 이름을 호출해 사용해야함.
package java_study;
public class Staff {
public String name;
//public이기때문에 어디서든 사용가능.
private double salary;
//private이기때문에 Staff class에서만 사용가능.
public Staff(String stfname) {
name = stfname;
}
public void setSalary(double stfSal) {
salary = stfSal;
}
public void printstf() {
System.out.println("이름 : "+name);
System.out.println("급여 : "+salary);
}
public static void main(String args[]) {
System.out.println("다음은 인스턴스 변수에 대한 예제 코드입니다.");
Staff stfone = new Staff("백수진");
//class선언과 동시에 인스턴스변수 매개변수를 넣어줌
stfone.setSalary(10000);
stfone.printstf();
}
}
<결과>
다음은 인스턴스 변수에 대한 예제 코드입니다.
이름 : 백수진
급여 : 10000.0
3. 클래스/정적변수
: 변하지 않는 상수의 값을 선언하기 위해서 사용하는 경우가 대부분.
: 대부분의 경우 초기값에서 절대로 변하지 않음.
: static을 사용 ( final을 사용할 경우, 대문자)
fianl과 static을 사용하는 이유가 궁금해졌다면?
https://goodncuteman.tistory.com/4 을 참고하여 이해!
[JAVA] final 과 static 의 핵심 정리
JAVA의 final 과 static을 클래스, 메소드, 변수에 사용할 때의 차이점과 용도에 관한 정리입니다. * final 변수란? 변수를 상수화 시킨다. 즉 한번 값이 결정된 변수의 값은 변경이 불가능하다. * fina
goodncuteman.tistory.com
*final사용이유*
1. 클래스: final로 클래스를 선언하면, 이 클래스를 상속하는 것을 허용하지 않는 것을 의미한다.
2. 변수 : 변수의 값의 변경을 허용하지 않는 것을 의미한다.
3. 메소드 : 상속이 가능하지만 메소드 오버라이딩이 불가하다. ( 상속 후 재정의하여 사용하는 것 : 오버라이딩)
*static사용이유*
1. 메모리공간을 할당해 어디서나 접근이 가능
단, 어디서나 가능하려면 private가 아닌 public으로 사용하는 것은 당연하다.
2. 인스턴스 간에 데이터 공유가 필요한 상황에서 static 변수를 활용
package java_study;
public class Staff_static_Ex {
private static double sal;
//급여 변수는 private 정적 변수로 설정한다
public static final String DEPARTMENT = "영업부";
//final을 사용하려고할 떄 모두 대문자로 자겅해야함.
public static void main(String args[]) {
sal = 1000;
System.out.println(DEPARTMENT + "평균급여 : "+sal);
}
}
<결과>
영업부평균급여 : 1000.0
4. 접근제한자
자바는 default값으로 접근제한자를 표현하면 클래스, 필드, 메소드 등이 서로 접근하는 것을 제한할 수 있음.
: private ( private로 만든 곳에서만 활용가능)
package java_study;
public class market_public_Ex {
private String category;
//category는 private여서 다른 class에서 활용할수가 없음.
public String getCategpry() {
return this.category;
}
public void setCategory(String category) {
this.category = category;
}
//this.category를 return this.category까지 가능하도록 public을 활용해야함.
}
:public ( main문은 인터프리터가 되어야하기때문에 public이여야함.)
'모바일소프트웨어 > 자바' 카테고리의 다른 글
Generic class (0) | 2021.10.19 |
---|---|
자바에서의 객체 비교 (0) | 2021.10.16 |
자바 문자열 다루기 (0) | 2021.10.11 |
Static변수와 객체생성의 관계 (0) | 2021.10.01 |
객체와 클래스(Java Objects and Class) (0) | 2021.09.15 |
- Total
- Today
- Yesterday
- mm1queue
- 백트래킹(1)
- stack 컨테이너
- 기본 텍스트 분류
- 코딩월드뉴스
- 핀테크 트렌드
- 백준 숫자놀이
- 영화 리뷰 긍정 부정 분류
- 스택 파이썬
- 13886
- 효율적인방법찾기
- 파이썬 알아두면 유용
- 시뮬레이션 c
- 백준 10866
- 딥러닝입문
- 온라인프로필 만들기
- 백준 11053 파이썬
- 백준 15650 파이썬
- CSMA/CD란?
- c++덱
- 백준 4963
- 11053 백준
- LAMBDA
- 소프트웨어공학설계
- 10866 백준
- 기사작성 대외활동
- DRF 회원관리
- 모듈 사용법
- CREATE ASSERTION
- 4963 섬의개수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |