반응형
변수는 언제 사용할까? 필요한 이유는 뭘까?
웹시스템 기준으로 데이터는 항상 전달하거나 전달받게 된다.
DB를 통해서 전달한 데이터를 어떻게 관리를 해야할까?
→ 데이터는 항상 변하기때문에 전달하고 전달받기 위해서 변수를 사용. (매개변수 == 파라미터)
변수에는 데이터를 저장하는 목적, 주는 목적, 받는 목적이 있다.
변수에 데이터를 담아 사용하고, 메서드의 호출 결과도 변수에 담을 수 있다.
변수가 없는 메서드는 더이상 데이터 전달이 불가하다 (static 변수를 선언하면 사용은 가능)
이는 데이터를 전달했고 데이터를 받을 수 있음을 의미한다.
public class Var0718 {
public static void main(String[] args) {
int c = 10, d = 20; // 변수는 값을 담는 역할도 하고,
System.out.println(add(1,2)); // 매개변수로서 데이터를 담는 역할도 한다.
System.out.println(add(c,d));
System.out.println("-----------------------");
int i = getListCount(); // 메서드의 호출 결과도 변수에 담을 수 있다.
System.out.println(i);
}
public static int add(int a,int b) {
return a+b;
}
public static int getListCount() {
return 100;
}
}
실행결과
add(1,2) : 3
add(c,d) : 30
-----------------------
100
임시로 데이터를 저장하는 것도 변수를 사용할 수 있는데
→ 코드의 유지보수, 간결성, 가독성등으로 변수 사용이 가능하다.
그렇다면 static 변수에 대해 알아보자.
public class Var0718 {
public static void main(String[] args) {
getStaticNum();
}
public static void getStaticNum() {
System.out.println(StaticNum.staticNum);
StaticNum staticNum = new StaticNum();
System.out.println(staticNum.localNum);
}
}
class StaticNum{
public static int staticNum = 0;
public int localNum = 1;
}
static 변수는 프로그램이 실행될 떄 메모리에 올라가서 , 어떤 클래스안에 static으로 선언되어 있으면 객체를 생성하지 않아도 접근이 가능하다.
Non-static 변수는 메모리;에 올라가 있어야 사용이 가능해서 객체 생성이 필요하다.
반응형
'Challenge' 카테고리의 다른 글
나의 챌린지에 대하여.. (0) | 2021.12.06 |
---|---|
#210718 java 연산자 (0) | 2021.07.18 |
210315 #1:) (0) | 2021.03.26 |
12주차 과제: 애노테이션 #12 (0) | 2021.02.12 |
11주차 과제: Enum (0) | 2021.01.29 |
댓글