inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Do it! 자바 프로그래밍 입문 with 은종쌤

클래스와 객체1 (4)

디폴트 생성자 안에 또 생성자를 만들 수도 있나요?

185

cyj1498

작성한 질문수 4

0

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)를 가져올 수 있는건가요? 

java

답변 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 ;

2

김동현

빠져있는게 있어 추가 설명드리면,   클래스명과 동일하고, 리턴 자료형이 없는것을 생성자라고 표현합니다. 메소드의 한 종류입니다.

이클립스 활성화가 안되는부분이있어요ㅜㅜ

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