day05 - this

JTH·2023년 1월 27일
0

gb_jth

목록 보기
11/56

3. this

3-1. this 란

  • 자기 자신을 의미하는 키워드
  • 클래스 안에서 this를 사용하여 "자기자신"을 표현한다.

3-2. this를 사용하여 지역변수와 멤버변수 구분하기

  • 멤버변수와 지역변수가 동일한 이름으로 공존할때, 유효성의 범위가작은 변수가 우선적으로 인식된다.
    class User{
		String name;	// 멤버변수

		public void setName(){
			String name;	// 지역변수
			name = "자바사용자";
			this.name = "멤버자바";
		}
	} 

3-3. this를 사용하여 파라미터와 멤버변수 구분하기

  • 파라미터도 해당메서드안에서만 유효한 지역변수의 일종이다.
  • 파라미터를 사용하여 멤버변수의 값을 간접적으로 설정하고자 할 경우, 변수의 이름을 서로 다르게 사용하는것 보다는
    이름은 동일하게 지정하고 this키워드를 사용하여 멤버변수와 파라미터를 구별하는 것이 java 언어의 일반적인 처리 방식이다.
  • 모든 멤버 변수 앞에는 this 키워드를 사용하여 멤버변수임을 직관적으로 표시하는 거시 소스코드의 가독성을 위하여 바람직하다.
    class User{
		String name; // 멤버변수name

		public void setName(String name // 지역변수name) {
			this.name // 멤버변수name = name; //지역변수name
		}
		
	}

3-4. this 키워드를 활용한 멤버변수와 메서드의 접근

  • 멤버변수는 지역변수와 구별하기 위하여 가급적 this를 통하여 접근
  • 메서드에 접근할 때 this 키워드를 사용하는 것이 필수적인 것은 아니다.
   package Class;

class Book{
	String subject;
	String content;
	
	Book(){ 		//생성자
		System.out.println("생성자 호출");
		this.subject = "JAVA 입문";
		this.content = "JAVA는 객체지향 언어입니다.";
	
	}
	
	void read() {  // read 메서드
		System.out.println("read() 메서드 실행됨");
		System.out.println(this.subject);
		System.out.println(this.content);
	}
	
}

public class Main07 {

	public static void main(String[] args) {
		// Book 클래스의 생성자에서 멤버변수에 대한 기본값을
		// 설정하기 때문에, 객체를 생성하는 것 만으로 멤버변수가
		// 초기화된다.
		Book book = new Book();   // 객체
		book.read(); //read 메서드 호출
		
			
	}

}
profile
//

0개의 댓글