-
[JAVA] 전역변수, 지역변수JAVA 2023. 7. 16. 15:13
아래 예제에서 첫번째 i변수가 a() 메소드 안에 선언돼 있어서 a() 메소드 바깥에 영향을 미칠 수 없다.
-> for 문안에 들어있는 i변수 값 변경되지 않는다.
[같은 이름의 변수 유효범위 확인 예제]
public class Scope { static void a(){ int i = 5; //첫번째i } public static void main(String[] args) throws Exception { for(int i=0 ; i<10 ; i++){ //두번째 i a(); System.out.println(i); } } }0
1
2
3
4
5
6
7
8
9아래 예제는 전역변수로 선언된 i 값이 for문안에 영향을 미치기 때문에 무한반복이 일어남
public class Scope { static int i; //전역변수 static void a(){ int i = 0; //지역변수 } public static void main(String[] args) throws Exception { for(int i=0 ; i<10 ; i++){ a(); System.out.println(i); } } }[this를 이용하여 전역변수에 접근]
class Calculator { static double pi = 3.14; int left,right; public void setCalculator(int left,int right){ this.left = left; this.right = right; } public void sum(){ //더하기 System.out.println(this.left + this.right); //this를 이용하여 전역변수에 접근 } public void avg(){ //평균 System.out.println((this.left+this.right)/2); //this를 이용하여 전역변수에 접근 } } public class CalculatorDemo { public static void main(String[] args) throws Exception { Calculator c1 = new Calculator(); c1.setCalculator(10, 20); c1.sum(); c1.avg(); Calculator c2 = new Calculator(); c2.setCalculator(100, 200); c2.sum(); c2.avg(); } }30
15
300
150'JAVA' 카테고리의 다른 글
[JAVA] 상속, 생성자, super (0) 2023.07.16 [JAVA] 상속 기본 예제 (0) 2023.07.16 [JAVA] 클래스 선언 - 클래스 변수, 클래스 메소드 (0) 2023.07.16 [JAVA] 클래스 선언 - 재고 관리 클래스 (0) 2023.07.16 [JAVA] 객체의 생성과 사용 (0) 2023.07.13