생성자와 소멸자 this키워드

Byeonghyeon Kim·2021년 6월 7일
0

자바

목록 보기
11/20
post-thumbnail

생성자와 소멸자 this키워드

디폴트 생성자

  • 객체가 생성될 때 가장 먼저 호출되는 생성자

  • 개발자가 명시하지 않아도 컴파일 시점에 자동 생성

  • 클래스에 디폴트 생성자를 만들지 않아도 객체를 생성할때 자동으로 만들어진다.

    • 단, 사용자 정의 생성자 (인스턴스가 들어간다던지..) 사용시엔 디폴트 생성자를 만들 필요가 없다.

사용자 정의 생성자

  • 디폴트 생성자 외에 특정 목적에 의해서 개발자가 만든 생성자로 매개변수에 차이가 있다.
  • int, String, 배열 등등.. 매개변수로 사용
  • 객체 생성시 매개변수를 할당하며 호출해야함

소멸자

  • 객체가 GC에 의해서 메모리에서 제거 될 때 finalize() 메서드가 호출
    • 객체가 갖고있는 메서드임
ObjectEx obj4;
obj4 = new ObjectEx();
obj4 = new ObjectEx();
// 이런식으로 동일한 레퍼런스로 객체를 두개 만들어서 위에꺼와의 연결은 끊음

System.gc();
// 위에 만들어진 객체(레퍼런스가 없는) GC가 접근해 메모리에서 삭제할거임
// 바로 GC가 작동하는 것은 아님, 가급적 빨리 작동하도록 요청
// 기본적으로 메모리를 개발자가 관리하지 않으므로 일반적으로 사용되진 않음
  • 이런것이 있다.. 정도만 알고있자!

this키워드

  • 현재 겍체를 가리킴
  • 파이썬의 self
// main
ObjectClass obj1 = new ObjectClass(10, 20);
// ObjectClass

public class ObjectClass {
    public int x;
    public int y;
    
    public ObjectClass(int x, int y) {
        
        this.x = x;
        // this.x가 해당 객체의 전역변수(위에 선언한 변수)를 가리킴
        // 해당 객체의 매게변수는 지역변수임 (뒤에 x)
        this.y = y;
    
    }
    
}
profile
자기 주도 개발전 (개발, 발전)

0개의 댓글

관련 채용 정보