728x90
프로그램이 커지면 여러 이유로 변수나 메소드의 이름이 "충돌" 하게 된다.
이를 해결하기위해 > 유효범위라는 개념이 나왔다(스코프 Scope)
두 클래스의 차이점을 살펴보자
Demo2는 i라는 변수를 메소드 밖에 선언해줬다
a()의 i 는 전역변수인 i를 통해 가져온것이다
int i = 0; 으로 설정할경우(지역변수)
-> 밖에있는 전역변수인 i와 전혀 무관
b()메소드는 본인 메소드, 전역변수가 유효범위 이다.
this
this는 인스턴스 자신을 의미하는 키워드라고 할 수 있다.
this.v -> this를 씀으로써 맴버변수 v 값을 출력
- 중괄호 코드 내에 지역변수가 있을 때 전역변수 보다는 지역번수 우선
- 중괄호 코드 내에 지역변수가 없을 때 전역변수를 불러서 쓴다
- 지역변수는 다른 중괄호 코드에서 불러서 쓸 수 없다.
- 전역변수와 연관된 지역변수는 전역변수를 통해 불러 쓸 수 있다.
- 클래스 내에서 선언 전역변수
- 메소드 내에서 선언 지역변수
728x90
'JAVA' 카테고리의 다른 글
14일차// 객체지향 프로그래밍 간단정리(5)✍// 상속 👩👧👧 (0) | 2021.01.29 |
---|---|
14일차// 객체지향 프로그래밍 간단정리(4)✍// constructor (0) | 2021.01.29 |
14일차// 객체지향 프로그래밍 간단정리(2)✍// 클래스 맴버과 인스턴스 맴버 (0) | 2021.01.28 |
14일차// 상속 , 부모클래스 자식클래스 (0) | 2021.01.28 |
14일차// 가계부 프로그램 DAO DTO (0) | 2021.01.28 |