개발이좋아

[Java] this 키워드 본문

Java

[Java] this 키워드

noobdev 2019. 12. 1. 22:30

this는 객체가 자기 스스로를 가리키는 예약어이다.

class Car {
    String model
    String color
    String company
    int price
    
    public Car(String model, String color, String company, int price){
    	tihs.model = model;
        tihs.color = color;
        tihs.company = company;
        this.price = price;
      }
      
  
    

위 코드를 보면 car라는 클래스가 있고 car에는 모델, 컬러, 만든 회사, 가격이라는 속성이 있을 때 

car를 만드는 생성자에서 매개변수로 각 각의 속성을 지정하고 있다.

생성자 안에 this.model 등은 위에 car 자신이 가지고 있는 속성들을 뜻하며 대입 연산자로 대입한 값들은 

생성자에 매개변수를 의미한다.

Car car = new Car("아반떼", "검정", "현대", 25000000);

car 객체를 만들 때는 위와 같이 this 키워드를 이용하여 생성자에서 바로 객체의 속성을 정의할 수 있다.

 

이 외에도 private 접근자 등 객체의 내용을 숨여야 하는 코드에서도 setter/getter 를 사용할 때 this 키워드를 사용한다.

public class MemberVO {
	private String id;
	private String pwd;
	private String name;
	private String email;
	private Date joinDate;
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public Date getJoinDate() {
		return joinDate;
	}
	public void setJoinDate(Date joinDate) {
		this.joinDate = joinDate;
	}
    
    }

private 접근자를 사용하면 public 접근자와는 다르게 바로 접근이 불가능하다. 

그래서 setter와 getter 메소드를 사용하는데 위 코드와 같이 set메소드들을 보면 this키워드가 들어간 것을 볼 수 있다.

다른 곳에서 접근을 해야 할 경우 ThisExample 객체를 선언한 뒤 참조한 변수에 set메소드를 이용해서 값을 set해주고 get으로 값을 가져올 수 있다.

MemberVO vo = new MemberVO();
  vo.setId(id);
  vo.setPwd(pwd);
  vo.setName(name);
  vo.setEmail(email);
  vo.setJoinDate(joinDate);

 

'Java' 카테고리의 다른 글

[Java] 상속(inheritance)  (0) 2019.12.03
[Java] 인터페이스 Interface  (0) 2019.12.02
[Java] 람다식  (0) 2019.11.29
[Java] 제어문1 - 조건문  (0) 2019.11.27
[Java] 상수와 리터럴  (0) 2019.11.25
Comments