일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 인텔리제이
- Stream
- datagrip 한글깨짐
- TypeScript
- Mac
- svn
- 코어자바스크립트
- 프로젝트 여러 개
- Aspect
- Java
- MySQL
- 봤어요처리
- maven
- REST
- node.js
- db
- DART
- oracle
- flutter mac 설치
- Spring
- JavaScript
- eqauls-hashcode
- tecoble
- javascript error
- ojdbc6
- InteliJ
- class-transformer
- 프로그래머스
- SQL
- @RequestBody
Archives
- Today
- Total
개발자가 되고 싶은 개발자
[Java] 클래스 변수/인스턴스 변수 · 클래스 메소드/인스턴스 메소드 본문
객체(Instance)
객체는 Instance를 포함하는 일반적인 의미입니다.
Car 클래스에서 Car를 생성하면 Car는 Car 클래스의 객체(인스턴스).
클래스 변수/인스턴스 변수
클래스 변수(static 변수)
모든 인스턴스가 하나의 저장공간을 공유하므로 항상 같은 값을 갖습니다.
인스턴스를 통해 호출하지 않고, 변수로 접근해서 사용할 수 있습니다.
인스턴스 변수
인스턴스가 생성될때마다 생성됩니다. 각기 다른 값을 유지할 수 있습니다.
class Example {
static int test = 500;
public static void main String(args[]) {
Example ex1 = new Example();
Example ex2 = new Example();
System.out.println(ex1.test); // 500
ex2.test = 700;
System.out.println(ex1.test); // 700
}
}
// 다른 인스턴스를 생성하더라도, 하나의 저장공간을 공유함.
class Example {
int test = 500;
public static void main String(args[]) {
Example ex1 = new Example();
Example ex2 = new Example();
System.out.println(ex1.test); // 500
ex1.test = 700;
System.out.println(ex1.test); // 700
System.out.println(ex2.test); // 500
}
}
// 인스턴스마다 별도의 저장공간을 갖음.
클래스 메소드 / 인스턴스 메소드
클래스 메소드(static 메소드)
클래스 변수와 마찬가지로 인스턴스를 통하지 않고 클래스명.메소드명() 으로 호출이 가능합니다.
메소드 내에서 인스턴스 변수 사용 불가합니다.
인스턴스 메소드
인스턴스 생성 후 참조변수명.메소드명() 으로 호출
메소드 내에서 인스턴스 변수 사용이 가능합니다.
class MyMath {
long a, b;
long add () { // 인스턴스 메소드
return a+b;
}
static long add (long a, long b) { // 클래스 메소드
return a+b;
}
public static void main String(args[]) {
System.out.println(MyMath.add(100L+200L); // 클래스 메소드
MyMath math = new MyMath();
math.a = 100;
math.b = 200;
math.add(); // 인스턴스 메소드
}
}
클래스를 설계할 때 공통적으로 사용하는 것,
인스턴스 변수를 필요로 하지 않을 때는 static으로 생성합니다.
참조: JAVA의 정석
'Dev > Java & Spring' 카테고리의 다른 글
[Log4j2] Log4j2- PatternLayout (0) | 2021.10.05 |
---|---|
[Tomcat] 톰캣 서버 실행 시 리스너 오류 (0) | 2021.02.04 |
[Java] NullPointerException Case1 (0) | 2020.09.07 |
[Spring] IoC, DI (0) | 2020.03.24 |
[Spring] 전자정부 프레임워크 공통 컴포넌트 db설정 (0) | 2020.03.24 |