강의

멘토링

로드맵

Inflearn Community Q&A

wer050033381's profile image
wer050033381

asked

Kim Younghan's Practical Java - Basics

Problem and Solution

이부분이 이해가 안갑니다.

Resolved

Written on

·

520

·

Edited

1

 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.


1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
Pay pay = PayStore.findPay(option)

뭐라고 말을 질문을 해야할지 모르겠지만 이 코드가 왜 되는건지 이해가 잘안됩니다.

PayService 클래스에서 Pay pay = PayStore.findPay(option) 이 코드가 되는 이유가 PayStore 클래스가 public이기 떄문에 불러올수있는건가요?

public은 같은패키지 안에서 공유 가능하기떄문에 저런 코드가 되는거죠?

 

ㅠㅠ 질문을 이해하셨느지 모르겠지만 이 부분이 왜 되는지 이해가 안돼요

java객체지향

Quiz

객체 지향 프로그래밍(OOP)이 기존 방식과 차별화되는 핵심 접근 방식은 무엇일까요?

프로그램을 순차적인 명령 목록으로 구성

독립적인 객체들의 협력을 통해 데이터 처리

하나의 거대한 함수로 모든 기능 구현

데이터와 처리를 분리하여 관리

Answer 1

2

안녕하세요. 김병곤님, 공식 서포터즈 OMG입니다.

이 코드가 정상 동작하는 이유는 findpay 메서드가 PayStore 클래스의 static 메서드로 선언되었기 때문입니다.

static 메서드는 인스턴스를 생성하지 않고도 클래스 이름을 통해 직접 호출할 수 있습니다 😀

static 메서드는 클래스 레벨에서 작동하기 때문에, 클래스가 메모리에 로드될 때 메서드에 접근할 수 있습니다.

번외로 객체 생성을 막기 위해 PayStore를 추상클래스로 생성한 것도 참고하시면 좋을 것 같아요 ^^

감사합니다.

wer050033381's profile image
wer050033381

asked

Ask a question