inflearn logo
강의

Course

Instructor

Do it! Introduction to Java Programming with Eun Jong

Classes and Objects 2 (2)

this 부분이 이해가 잘 안가요...

283

pompomyena

21 asked

0

public Bus(int busNumber) {

    this.busNumber = busNumber;

}

 

머리속에 어느정도 이해가 가는듯하면서도 

이 코드가 이해가 안가는데 

설명해주실분 계신가요..ㅠ

 

java

Answer 2

1

seung lee

일단 public Bus(int busNumber){ } 가 생성자인건 알고 계신가요?

Bus라는 클래스의 객체를 생성할 때 호출하는 메서드입니다.

생성자를 정의하지 않아도 생성은 가능합니다. 기본적으로 public Bus() { } 가 호출돼요

근데 ( ) 안에 int busNumber를 써줌으로써 객체를 생성할 때 무조건 int형으로 매개변수를 받게끔 해둔 거예요

Bus 객체를 생성할 때 int형으로 받은 숫자를 Bus 객체의 busNumber 변수에 저장하겠다는 뜻입니다. 

0

k1m2njun [DEL] 250925170311

public Bus(int busNumber) {

    this.busNumber = busNumber;

}

여기에 쓰인 'this'는 인스턴스 자신의 메모리를 가리키는 것입니다.

'Bus'라는 클래스의 객체(인스턴스)를 생성할 때에
'busNumber'라는 매개변수를 받아서

'Bus' 클래스 인스턴스의 멤버변수 'busNumber'에
저장하는 것입니다.

즉 'Bus'클래스의 객체를 만들면서 속성값을 초기화하는 것입니다.


위의 답변에 추가로 말씀드리자면,

매개변수를 받는 생성자를 코드에 작성하면
컴파일러는 기본 생성자(디폴트 생성자)를 제공하지 않습니다.

public Bus() {}

즉 이렇게 아무 매개변수도 받지 않는 '기본생성자'를
따로 작성하지 않으면, 매개변수를 받지 않는 객체를 생성할 수 없습니다.

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

0

429

1

책에 자료실

0

495

1

StudentID

0

553

1

인터페이스와 가상 메서드

0

354

1

11분쯤 price, int price 질문

0

350

1

For문 (중첩된 반복문) 구구단 문의 드립니다.

0

782

1

반복문 별 출력 연습문제

0

390

1

비트 연산자 질문입니다.

1

367

1

Scheduler scheduler = null 굳이 하는 이유가 있나요

1

333

0

Class간의 연결

1

292

1

선생님 스킬

0

392

1

초기화 에러!!!

0

282

1

선생님 영상에서 목소리가 좀 작은 것 같습니다 ㅠㅠ

2

300

0

출력

2

230

0

Main 함수 저번 강의 거가 나와요

0

312

1

결과값오류

1

222

0

printIn 함수 질문

0

449

1

24분 57초에 질문 있습니다!!

0

359

1

1분36초쯤에 말씀하시는 자바닥??그거 보라고 하셨는데 자바닥이 뭐죠..?

0

246

1

메서드와 생성자

0

393

2

참조형 데이터 타입은 클래스 이름과 같아야 하나요?

0

282

1

반환값은 정수 밖에 안되나요?

0

270

1

9분33초 설명!!부탁 드립니다!

0

296

1

48분쯤에 {"B","C","D""} 를 왜 {'B','C','D'}로 바꿨죠?

0

294

1