Chihiro's Blog
[웹개발] 생성자 본문
생성자
객체를 만들때 필수적인 데이터를 가지고 객체가 만들어지고 싶다면 생성자를 이용해 가능합니다.
생성자는 객체지향 프로그래밍에서 객체를 초기화하는데 사용됩니다.
메소드처럼 선언하지만 메소드의 리턴타입이 없습니다.
또한 메소드의 이름이 클래스의 이름과 같습니다.
(생성자는 만들지 않으면 JVM에서 자동으로 빈 생성자를 만듭니다. 생성자를 만들게 되면 사용자 생성자를 호출하게 되고 매개변수가 존재한다면 매개변수를 꼭 입력해야 됩니다.)
생성자 호출방법
메소드 시그니처
- 시그니처가 달라야 합니다.
- 메소드 오버로딩이란 "같은 이름"의 메소드를 중복하여 정의하는 것을 의미합니다. 자바에서는 원래 한 클래스 내에 같은 이름의 메소드를 둘 이상 가질 수 없습니다. 하지만 매개변수의 갯수나 타입을 다르게 하면, 하나의 이름으로 메소드를 작성할 수 있습니다. 즉 메소드 오버로딩은 서로 다른 시그니처를 갖는 여러 메소드를 같은 이름으로 정의하는 것이라고 할 수 있습니다.
this 참조 변수
this 참조 변수는 인스턴스가 바로 자기 자신을 참조하는데 사요하는 변수입니다.
자바에서는 this 참조 변수를 사용하여 인스턴스 변수에 접근할 수 있습니다.
this 참조변수를 사용할 수 있는 영역은 인스턴스 메소드뿐이며, 클래스 메소드에서는 사용할 수 없습니다.
모든 인스턴스 메소드에는 this 참조변수가 숨겨진 지역 변수로 존재하고 있습니다.
this 메소드
this() 메소드는 생성자 내부에서만 사용할 수 있으며, 같은 클래스의 다른 생성자를 호출해 사용합니다.
this() 메소드에 인수를 전달하면, 생성자 중에서 메소드 시그니처가 일치하는 다른 생성자를 찾아 호출해 줍니다.
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
[웹개발] 11일차 - 접근 제어자 (0) | 2019.08.01 |
---|---|
[웹개발] 8일차 메소드 (0) | 2019.07.18 |
[웹개발] 7일차 - 다차원 배열 / 메소드 (0) | 2019.07.17 |
[웹개발] 6일차 - 배열 (array) (0) | 2019.07.16 |
[웹개발 5일차] 반복 (0) | 2019.07.16 |