inflearn logo
강의

講義

知識共有

@シコ - Java をしっかり学ぶ(完全基礎)

Java基礎06 - クラスオブジェクト

private임에도 print가 되는 이유문의(Man class문제)

193

ny8020

投稿した質問数 1

0

1시간 30분 경에 있는 Man Class에서,
 
amount의 경우 private int amount;로 선언을 해서 접근이 불가능한데요.
 
따라서, 마지막에 잔액을 표현할 때
System.out.println("hong: " + hong.getAmount()); 로 했습니다.
 
그런데, 그냥 hong.amount로 해도 표출이 되는데요.
 
같은 class안에 main과 함께 선언이 되어있어서 접근이 가능한 걸까요?
 
다른 class(파일)에서 접근이 불가능하다는 의미인지 문의드립니다!

java

回答 1

0

seniorcoding

안녕하세요. 좋은 질문이네요.

 

'외부(외부 클래스)에서 private 접근자를 접근할 수 있는 것은 클래스 내 public 함수를 통해서만 가능하다'라고 정의 되어 있죠.

그래서 getter와 setter 함수를 사용한다는 것은 알고 계신 듯 합니다.

 

main 함수는 위에서 언급한 '클래스 내에 존재하는 함수이므로' 해당 클래스의 private 멤버 변수를 바로 접근할 수 있습니다.

강의에서는 외부에서 불렀다고 가정해서 getter를 통한거에요.

실제로 main으로 클래스를 생성하고 접근하는 경우는 실무에서나 Spring등을 사용할 땐 거의 없으니까요.

 

좋은 질문 감사드립니다~

네이버 API | '검색 - 책' API 제공 중단

0

11

0

ArticleReadService 관련 질문

0

9

0

kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.

1

28

1

이론 공부법 요약본 버전 업데이트 문의

0

12

1

domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다

1

20

1

해당 프로젝트를 똑같이 따라하려니 spring installer가 버전이 17부터 가능하네요.

0

11

1

Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.

0

26

2

테스트는 인터페이스를 대상으로 만드는것에 대해 궁금한 점이 있습니다.

0

13

1

Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면

1

56

1

리뉴얼 시기

0

33

2

스크립트에 대해 질문 있습니다.

1

50

1

15강 중 에러가 났는데 해결이 안되어 질문 남깁니다.

0

483

1

궁금합니다

0

336

1

자바 중급 강의

0

638

1

객체란 무엇인가요?

0

1102

1

하이자바에서 커밋눌렀는데 작업한 코드가 안뜹니다.

0

361

1

MomandSon Drink함수

0

318

1

소수의 합 ArrayList

0

277

1

.getAmount

0

251

1

전화번호 끝자리 ****로 출력

0

519

3

함수재정의(override)

0

269

1

6강 클래스 객체 내용

0

220

1

java 유료화 관련

0

464

2

정리차원에서 듣고있습니다.

0

224

1