디폴트 생성자 안에 또 생성자를 만들 수도 있나요?
185
작성한 질문수 4
package reference;
public class Circle {
Point point;
int radius;
public Circle() {
point = new Point();
}
}
클래스와 객체1(4) 참조자료형 설명하실 때의 예시입니다.
그 전 강의에서는
Public Cicrle(){} 처럼 디폴트 생성자만 선언하거나,
Public Circle(int x){
radius = x;
}
이런식으로 int x를 매개변수로 받아 Circle의 멤버변수로 대입하는 기능을 수행하는 생성자를 선언했었습니다.
그런데 이번에는
public Circle() {
point = new Point();
}
이렇게 디폴트 생성자 안에 새로운 생성자를 만드셨는데요,
무슨 차이가 있는지 궁금합니다. 이렇게 선언하면 해당 클래스에서 point.x, point.y 로 Point 클래스의 멤버변수(x, y)를 가져올 수 있는건가요?
답변 1
2
첫번째 public class Circle 는 Class를 의미합니다.
두번째 public Circle() 은 class 내부의 Method입니다.
public Circle() {
point = new Point();
}
여기서 point는 Circle 클래스를 정의할 때 Point 클래스를 참조할 때 객체이름을
point로 지정한 것입니다. Class는 객체(Object)에 대해서 정의(변수와 함수)를 내려놓은
일종의 설계도면이고, 이를 활용하기 위해서는 '꼭' 객체 선언을 해야합니다.
point = new Point(); 이 부분이 Point Class에 대해서 새로운 객체를 선언한 것이고
이를 통해 Point Class의 변수인 int x 와 y 에 대해서 point.x, point.y를 통해
새로운 값을 넣어줄 수 있습니다.
Ex) point.x = 10; , point.y = 5 ;
이클립스 활성화가 안되는부분이있어요ㅜㅜ
0
441
1
책에 자료실
0
504
1
StudentID
0
568
1
인터페이스와 가상 메서드
0
366
1
11분쯤 price, int price 질문
0
359
1
For문 (중첩된 반복문) 구구단 문의 드립니다.
0
800
1
반복문 별 출력 연습문제
0
403
1
비트 연산자 질문입니다.
1
383
1
Scheduler scheduler = null 굳이 하는 이유가 있나요
1
340
0
Class간의 연결
1
306
1
선생님 스킬
0
402
1
초기화 에러!!!
0
289
1
선생님 영상에서 목소리가 좀 작은 것 같습니다 ㅠㅠ
2
309
0
출력
2
239
0
Main 함수 저번 강의 거가 나와요
0
323
1
결과값오류
1
231
0
printIn 함수 질문
0
460
1
24분 57초에 질문 있습니다!!
0
367
1
1분36초쯤에 말씀하시는 자바닥??그거 보라고 하셨는데 자바닥이 뭐죠..?
0
258
1
메서드와 생성자
0
405
2
참조형 데이터 타입은 클래스 이름과 같아야 하나요?
0
288
1
반환값은 정수 밖에 안되나요?
0
276
1
9분33초 설명!!부탁 드립니다!
0
303
1
48분쯤에 {"B","C","D""} 를 왜 {'B','C','D'}로 바꿨죠?
0
299
1





