Img profile default
계후니
  • 2016.7.15 14:01
  • 조회수 61
  • 답변수 1
Img profile default
계후니
  • 2016.7.15 14:01
  • 조회수 61
  • 답변수 1

this를 인자로 전달하는경우

안녕하세요
다른 코드를 보다가 this로 인자를 전달하는 경우를 봤는데요
예를들어서 아래와 같은 식인데요 이해가 되질 않아서 질문드려요

this를 인자로 넘겼다는 Car 객체를 넘겼다고 이해하면 되는건가요?

public class Car()
{
    public void Car()
    { }

    public void 메서드명(this)
    {
    .
    .
    .
    }
}

  • #자바 입문
  • #생성자 오버로딩과 this

1 답변

  • Spgjnhnsidwygch8ddkd
    Chandler
    • 2016.7.18 16:19

    질문하신 코드에서 this로 인자를 전달한다는 것의 정확한 뜻을 모르겠네요..

    public class Car {
        String name;
        int number;
    
        public Car(String name, int number){
            this.name = name;
            this.number = number;
            this.CarPrint(this); // this를 인자로 전달
        }
    
        public void CarPrint(Car c){
            System.out.println(c.name + " " + c.number);
        }
    
        public static void main(String[] args){
            Car car = new Car("abc", 1234);
        }
    }
    

    위처럼 사용하는 것을 말하신 건가요?

    • 네 맞습니다. this를 인자로 넘기게 되면 참조 변수가 없는 객체가 넘어간다고 이해하면 될까요? 또 어떤 경우에 저런 형태로 사용하나요?-계후니
      2016.7.19 18:32
    • 참조 변수를 선언하여 메모리를 할당 받아야 this를 사용할 수 있습니다. 위에서 this는 car라는 참조변수가 생성되면서 값을 넘겨준 것이죠-Chandler
      2016.7.20 14:41
    • 기능의 중복을 줄여, 코드를 잘 세분화 시킨다면 위와 같은 형태로 사용할 때가 있을 것입니다.-Chandler
      2016.7.20 14:42

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.