[2021-06-24]Java

SPIDER·2021년 6월 27일
0

Java 공부

목록 보기
7/14
post-thumbnail

7일차


생성자


생성자는 객체지향의 핵심인 인스턴스를 만들고 초기화 시킬 때 사용된다.
Person p1 = new Person();

인스턴스 p1을 기본 생성자로 만든 모습이다.

기본생성자로 인스턴스를 만들경우 인스턴스의 변수에 값을 넣어줄 때
따로 넣어주어야 한다는 단점이 있다.

이렇게

Person p1 = new Person();
    p1.setName("SC");
    p1.setAge(24);
}

하지만 생성자를 따로 만들어준다면

public Person(String pName, int pAge) {
    name = pName;
    age = pAge;
}

다음과 같이 정의할 수 있고

만든 생성자를 활용하여 인스턴스 변수에 값을 넣게 된다면

Person p1 = new Person("SC", 24);
}

이렇게 한번에 넣어주는것이 가능하다.

# 생성자 역시 하나의 메소드로 볼 수 있기 때문에 오버로딩이 가능하다.


# 생성자를 하나라도 정의한다면 기본 생성자를 이용할 수 없다.

생성자를 오버로딩 한 모습(파라미터의 개수에 맞추어서 어떤 생성자가 사용될지 정해진다)



this


자바에서 this는 메소드에서 현재 인스턴스를 가리키는 역할을 한다.

예를 들어

public class Person {
    private String name;

    ...
    
    public void setName(String name) {
        name = name;
    }
    
  
}

setName메소드 파라미터가 name이므로 인스턴스 변수 name과 겹쳐 결과적으로
name=name 꼴의 의미없는 코드가 된다.
이런 경우

public void setName(String name) {
    this.name = name;
}

인스턴수 변수 앞에 this.을 붙혀줌으로써
현재의 인스턴스를 가리킨다는 의미을 더해줄 수 있다.

profile
🕷기적을 만드는 개발 기록🕷

0개의 댓글