728x90
반응형
💡변수와 메소드
// 클래스 변수는 인스턴스 변수를 사용할 수 없음.
- 클래스 변수
(ex. static int cv)
- 인스턴스 변수
(ex. int iv)
💡static
// 클래스 메소드에서 인스턴스 변수를 사용불가.
// 클래스 메소드에서는 인스턴스 메소드를 호출할 수 없음.
- 클래스 메소드
💡인스턴스
// 인스턴스 메소드에서는 인스턴스 변수를 바로 사용가능.
// 인스턴스 메소드에서는 인스턴스 메소드와 클래스 메소드를 호출할 수 있다.
- 인스턴스 메소드
📃static/인스턴스 예제 (1)
public class MemberCall {
int iv = 10;
static int cv = 20;
// int iv2 = cv;
// static int cv2 = iv; // 에러. 클래스변수는 인스턴스 변수를 사용할 수 없음.
public static void main(String[] args) {
staticMethod1();
staticMethod2();
// instanceMethod1(); // 에러
// instanceMethod2(); // 에러
}
static void staticMethod1() {
System.out.println(cv);
// System.out.println(iv); // 에러. 클래스메서드에서 인스턴스변수를 사용불가.
}
void instanceMethod1() {
System.out.println(cv);
System.out.println(iv); // 인스턴스메서드에서는 인스턴스변수를 바로 사용가능.
}
static void staticMethod2() {
staticMethod1();
// instanceMethod1(); // 에러. 클래스메서드에서는 인스턴스메서드를 호출할 수 없음.
}
void instanceMethod2() { // 인스턴스메서드에서는 인스턴스메서드와 클래스메서드
staticMethod1(); // 모두 인스턴스 생성없이 바로 호출이 가능하다.
instanceMethod1();
}
}
📃static/인스턴스 예제 (2)
class Data{int x;}
public class ReferenceParamEx {
public static void main(String[] args) {
Data d = new Data();
d.x = 10;
System.out.println("main() : x = " + d.x);
// change_basic(d.x);
change(d);
System.out.println("After change");
System.out.println("main() + x = " + d.x);
}
static void change_basic(int x) {
x = 1000;
System.out.println("change_basic() : x = " + x);
}
static void change(Data d) {
d.x = 1000;
System.out.println("change() : x = " + d.x);
}
}
💡재귀함수
📃재귀함수 예제
public class FactorialTest {
public static void main(String[] args) {
int result = factorial(5);
System.out.println(result);
}
static int factorial(int n) {
int result = 0;
if(n==1) {
result = 1;
}
else {
result = n * factorial(n-1);
}
return result;
}
}
728x90
반응형
'Language > JAVA' 카테고리의 다른 글
JAVA의 정석 3판 - 객체지향 프로그래밍 연습문제(3) (0) | 2022.06.24 |
---|---|
JAVA 5일차 - 오버로딩 / 생성자 (0) | 2022.06.24 |
JAVA의 정석 3판 - 객체지향 프로그래밍 연습문제 (0) | 2022.06.23 |
JAVA 4일차 - 객체 지향 프로그래밍(2) (0) | 2022.06.23 |
JAVA 4일차 - 객체 지향 프로그래밍(1) (0) | 2022.06.23 |
댓글