inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

팩토리 메서드에 대해서 궁금증이 생겨서 질문드려봅니다!

미해결

TS/JS 디자인 패턴 with Canvas: 제로초에게 제대로 배우기

심플 팩토리에서 chrome, safari 등등 if문을 통해서 브라우저환경에 맞는 그림판 인스턴스를 가져올 수 있도록 한 코드가 있었는데, 팩토리 메서드가 그 역할을 대신한다고 이해했습니다. 궁금한점은 결국 크롬이든 사파리든 브라우저환경을 알아내서 main함수에 넘겨줄 수 있어야하는데 그 분기는 어디서 해야하는걸까요? function clientCode(creator: Creator) { creator.someOperation() } clientCode(new ConcreteCreator1()) 아래의 코드라면 new ConcreteCreator1()를 판단할 수 있는 조건 분기를 결국 어디서는 해야하지 않는가에 대한 고민입니다!

  • javascript
  • typescript
  • 객체지향
  • 디자인-패턴
  • canvas
마켓오 댓글 2 좋아요 0 조회수 236

[문제집] 6_함수를 응답으로 받기 - 1번문제 오류

미해결

코틀린 함수형 프로그래밍 - 입문편

안녕하세요, [문제집] 6_함수를 응답으로 받기 1번문제에 오류가 있습니다. createMultiplier 함수 파라미터로 factor가 되어야 하는데 2로 들어와있네요. 문제집 해설 영상 보면 알 수 있지만 잘못되어 있어서 제보드립니다. 감사합니다.

  • kotlin
  • 함수형-프로그래밍
  • 객체지향
  • functional
Country 댓글 1 좋아요 1 조회수 165

basic,gold,diamond에 왜 new ClassGrade로 인스턴트 생성하나요? 그냥 선언만 하면 안되나여??

미해결

김영한의 실전 자바 - 중급 1편

package enumeration.ex2; public class ClassGrade { public static final ClassGrade BASIC = new ClassGrade(); public static final ClassGrade GOLD = new ClassGrade(); public static final ClassGrade DIAMOND = new ClassGrade(); } => public static final ClassGrade BASIC; public static final ClassGrade GOLD ; public static final ClassGrade DIAMOND ; 이로면 안되나여?new를 왜햇는지 모르겟어요

  • java
  • 객체지향
pcdoo.mco 댓글 2 좋아요 0 조회수 158

discount 메서드에서 타입을 String 타입이 아닌 StringGrade타입으로 받으면 되지않나여??

미해결

김영한의 실전 자바 - 중급 1편

package enumeration.ex1; public class DiscountService { public int discount(StringGrade grade,int price){ int discountPercent=0; if(grade.equals(StringGrade.BASIC)) { discountPercent=10; }else if(grade.equals(StringGrade.GOLD)){ discountPercent=20; }else if(grade.equals(StringGrade.DIAMOND)){ discountPercent=30; }else{ System.out.println(grade+":할인 x"); } return price*discountPercent/100; } } discount 메서드에서 타입을 String 타입이 아닌 StringGrade타입으로 받으면 아래 예제가 다 에러 표시가 나면서 개발자들이 실수 하지않게 되는데? 왜 굳이 enum을 쓰나여? StringGrade타입으로 하면되자나여 package enumeration.ex1; import enumeration.ex1.DiscountService; public class StringGradeEx1_2 { public static void main(String[] args) { int price=100000; DiscountService discountService=new DiscountService(); //존재하지 않는 등급 int VIP =discountService.discount("VIP",price); System.out.println("VIP = " + VIP); //오타 int diamoddd= discountService.discount("diamoddd",price); System.out.println("diamoddd = " + diamoddd); //소문자 입력 int gold= discountService.discount("gold",price); System.out.println("gold = " + gold); } }

  • java
  • 객체지향
pcdoo.mco 댓글 1 좋아요 0 조회수 77

UnitPrinter.printV2 와일드카드 작성 시

미해결

김영한의 실전 자바 - 중급 2편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] public static void printV2(Shuttle<? extends BioUnit> shuttle) { shuttle.showInfo(); } 이 부분에 와일드카드가 BioUnit 을 extends 해야 한다고 명시적으로 작성해 주고 있는데 Shuttle 클래스에서 이미 <T extends BioUnit> 을 하고 있기 때문에 와일드카드는 단순하게 ? 만 사용해도 괜찮은 걸까요? 다른 개발자가 사용할 경우에 좀 더 명시적으로 확인시켜주기 위해 적은거라고 이해해도 되는 건지 궁금합니다. public static void printV2(Shuttle<?> shuttle) { shuttle.showInfo(); } 이렇게 코드를 작성한 이후에 여러 테스트를 해봤는데 Shuttle 클래스를 만들때 <T extends BioUnit> 에 걸려서 Integer나 Object 등 다른 타입은 사용할 수 없더라구요.

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
승호 댓글 1 좋아요 0 조회수 129

테스트 두개를 동시에 돌렸을 경우 왜 밸류값이 달라지는 건가요??

미해결

스프링 핵심 원리 - 기본편

public class ApplicationContextInfoTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("모든 빈 출력하기") void findAllBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Object bean = ac.getBean(beanDefinitionName); System.out.println("name = " + beanDefinitionName + " Object = " + bean); } } @Test @DisplayName("모든 빈 출력하기") void findApplicationAllBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { BeanDefinition beanDefinition = ac.getBeanDefinition(beanDefinitionName); if (beanDefinition.getRole() == BeanDefinition.ROLE_APPLICATION) { Object bean = ac.getBean(beanDefinitionName); System.out.println("name = " + beanDefinitionName + " Object = " + bean); } } } } 테스트 코드를 이렇게 짠 후 같이 돌리면 오브젝트로 나오는 애들 코드가 각각 다르게 나옵니다. 스프링 컨테이너는 초기에 한 번만 생성/등록되고 각각의 테스트에서 같은 것을 가져오는 건줄 알았는데 아닌가요..??

  • spring
  • 객체지향
윤소영 댓글 2 좋아요 0 조회수 154

[수정 건의] NodeMain3의 add(Node node, String param) 메서드에 대한 수정 건의

해결됨

김영한의 실전 자바 - 중급 2편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 대상 강의록: 4. 컬렉션 프레임워크 - LinkedList.pdf 의 p.12 대상 소스 파일: NodeMain3 add(Node node, String param) 메서드 건의 내용: 해당 부분은 아직 LinkedList 에 대한 제네릭 도입 전이므로 Node 클래스에서도 item 의 타입을 Object 로 사용하고 있습니다. public class Node { Object item; Node next; public Node(Object item) { this.item = item; } ... } 따라서 add 메서드 또한 추가할 데이터인 param을 String이 아닌, Object 타입으로 설정해야 수강생들의 이해가 쉬울 것이라고 생각합니다. // 기존 강의록 코드 private static void add(Node node, String param) { Node lastNode = getLastNode(node); lastNode.next = new Node(param); } // 수정 제안 코드 <<수정부분: String -> Object>> private static void add(Node node, Object param) { Node lastNode = getLastNode(node); lastNode.next = new Node(param); }

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
dev.rudevico 댓글 1 좋아요 0 조회수 128

강의록 오타 제보

해결됨

김영한의 실전 자바 - 중급 2편

[질문 내용] 파일: 4. 컬렉션 프레임워크 - LinkedList.pdf 페이지/위치: 4페이지/NodeMain1 코드 11페이지/NodeMain3 코드 오타 내용: System.out.println("모든 노트 탐색하기"); 수정 내용: System.out.println("모든 노드 탐색하기");

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
dev.rudevico 댓글 2 좋아요 0 조회수 131

ExecutorServic 우아한 종료 isTerminated()에 대해서 질문

해결됨

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 궁금증이 생겨서 질문을 올립니다. 복습을 하던중에 이쪽 부분에서 isTerminated() 부분을 호출하면 셧다운 상태를 확인할 수 있다고 해서, 당연히 true가 나올줄 알고 검증을 해보기 위해서 해보았습니다. 근데 왠걸? 저와의 예상과는 다르게 false가 나옵니다.. 뭐가 문제 있는가 생각해봐서 여러 군데에 isTerminated()를 붙여놓고 해봤는데 true가 나옵니다. 볼록 된 부분 입니다. 근데 왜? 이렇게 되는지 아무리 생각해봐도 이유를 모르겠습니다. 혹시 이렇게 되는 이유를 가르쳐 줄 수 있으신가요? 수정1 submit로 뭐 좀 해보는게 있었는데 이것을 execute로 안바꾸고 실행해서 사진 수정함 + 인프런 ai가 답변해준 isShutDown()이 궁금해서 추가 된게 있음(이건 블락? 처리) 수정2 사진1개 더 추가. 여러 번 돌려보니 에러메시지가 중간에 떠서 다시 올림. 모르겟다.. 답변 부탁 드립니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
생각하는자 댓글 2 좋아요 0 조회수 191

IOException 예외 처리 질문

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요, IOException 예외 처리 관련해서 질문드립니다. 영상과 교안을 보다보니 어떤 메소드에서는 IOException을 던지고, 어떤 메소드에서는 try-catch문을 이용해서 처리하는데, 기준이 무엇인지 궁금합니다. 예외는 항상 처리해야하는 것이 아닌가? 라고 생각하고 있었는데 코드를 보니 또 그런건 아닌 것 같아서요. 감사합니다!

  • java
  • 네트워크
  • 객체지향
댓글 2 좋아요 0 조회수 172

클래스 다중상속 모호성 질문!

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 클래스는 메서드가 구현되어 있고, 이름이 같은 메서드가 있을 경우 어떤 메서드를 실행해야할지 모호해서 다중상속이 안 된다고 하셨는데, 인터페이스 다중구현을 설명해주실 때 약간의 의문점이 생겨서 질문 드립니다. 인터페이스 다중구현에서는 만약 InterfaceB b = new Child()라고 하면 b가 InterfaceB를 가리키고 있기에 InterfaceB의 methodCommon()을 만나서 이 메서드는 오버라이딩 됐네! 하고 Child의 methodCommon()으로 내려가는 거잖아요. 그런데 그럼 클래스에서도 ClassB b = new Child()라고 하면 b가 ClassB를 가리키고 있기에 ClassB의 methodCommon()을 선택하면 되는거 아닌가요?? 이런 경우 왜 모호해지는지 잘 모르겠습니다!!! 단지 상속이 부모의 기능을 물려받는 것이기에 부모의 기능을 가져올 때 어떤 부모의 기능을 가져와야할지 모호해져서 단일상속이 원칙이 되는건지, 만약 위와같은 자식 클래스에서 오버라이딩 하는 경우에는 모호성이 안 일어나는건지 궁금합니다. 여러 가지 개념이 나오다보니 많이 헷갈리네요. ㅜㅜㅜ

  • java
  • 객체지향
유동현 댓글 1 좋아요 0 조회수 131

gradle 오류 - 대입이 사용되지 않습니다.

미해결

스프링 핵심 원리 - 기본편

========================================= 프로젝트 생성하고 gradlew을 열었는데 대입이 사용되지 않는다는 오류가 뜹니다. refresh도 해봤는데 오류는 계속 뜹니다. 환경변수도 jdk17로 설정했습니다. 어떻게 하면 오류가 사라질까요?

  • spring
  • 객체지향
  • gradlew
김주현 댓글 2 좋아요 0 조회수 327

맛집 검색 네이버 api 403에러 나는데 현재 막혔나요?

해결됨

남박사의 파이썬으로 봇 만들기 with ChatGPT

https://map.naver.com/p/api/smart-around/places?searchCoord=127.119009%3B37.296806&boundary=127.11741034949176%3B37.289602227353484%3B127.12082211935848%3B37.303838401625484&code=01&limit=20&sortType=RECOMMEND&timeCode=EVENING 접속을 하니 403 Forbidden nginx 납니다.

  • python
  • 웹-크롤링
  • 챗봇
  • 객체지향
  • openai-api
Victor Choi 댓글 3 좋아요 0 조회수 878

제네릭 out 반환

미해결

김영한의 실전 자바 - 중급 2편

[질문 내용] 여기서 왜 객체에서 유닛을 따로 꺼내줘야만 관련 메서드를 사용할수 있는건가요? Shuttle<T extends BioUnit>으로 Shuttle도 상한타입도 지정해줬음에도 한번 유닛으로 반환받아야 메서드를 쓸 수 있는 이유가 헷갈립니다

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
rucy0510 댓글 3 좋아요 0 조회수 147

'문제: 짝수 출력' 관련 질문

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

[질문 내용] '문제풀이 1'의 2번 문제인 '짝수' 출력 관해서 질문 드립니다. 강사님이 작성해준 코드와 제가 작성한 내용이 조금 달라서요..! 결과값이 동일하긴 한데, 이렇게 진행해도 문제없나요? 저는 num 변수만 선언했거든요.. package loop.ex; public class WhileEx2 { public static void main(String[] args) { int num = 1; while (num <= 10) { System.out.println(num * 2); num++; } } } package loop.ex; public class ForEx2 { public static void main(String[] args) { for (int num = 1; num <= 10; num++) { System.out.println(num * 2); } } }

  • java
  • 객체지향
댓글 1 좋아요 0 조회수 110

안녕하세요 일시정지부분

해결됨

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

Time.timeScale = 0 으로 하는건 추천하지 않다고 하셨는데.. 그렇다면 강사님이 작성하신 GameManager.Instance.Paused = true; LevelManager.Instance.ToggleCharacterPause(); 는 어떻게 작성했는지가 궁금한데 공유는 불가능한부분일까요??

  • C#
  • unity
  • 객체지향
멍텅구리 댓글 2 좋아요 0 조회수 209

컴파일 오류가 왜 뜨는지 이해가 안되네요

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

Switch코딩처럼 간단하게 하려고 public static void main(String[] args){ int score = 100; String a; if (score >= 90) { a = "A"; } System.out.println("등급 = " + a); 이런 식으로 풀어봤는데 마지막 sout 부분 a에만 컴파일 오류가 뜹니다. public static void main(String[] args) { String a; if (true){a = "s";} System.out.println("a" + a); 근데 이건 실행이 되는 게 이해가 안되네요 결국 같은 거 아닌가요??

  • java
  • 객체지향
blackjaewoo 댓글 1 좋아요 0 조회수 137

assertj랑 junit이랑 뭔가 충돌하는 것 같습니다.

미해결

스프링 핵심 원리 - 기본편

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] assertThat을 부르려고 assertj의 AssertThat을 import static으로 해도 안 불러와집니다 import할때 아예 import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertThrows; 이렇게 해봐도안되고, 지금은 junit의 Assertions를 불러와서 assertThrows에 에러 표시가 안 나는데... 정리하면 assertThat이 되면 assertThrows가 안됩니다. 반대도 마찬가지이고 하나가 되면 하나가 안 불러와져요 gradle.build에서 의존성도 건드렸었는데 효과가 없네요

  • spring
  • 객체지향
신윤진 댓글 1 좋아요 0 조회수 148

채팅 클라이언트 문의

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

안녕하세요. 채팅 클라이언트 실습전에 먼저 구현을 해보았는데요. 클라이언트 메인에서 스레드를 스타트 하면 그 즉시 소켓이 닫히면서 프로그램이 종료되는 오류를 겪었습니다. 이는 클라이언트 메인에서 sender 스레드를 join하면서 해결하긴 했는데요. 영한님의 예제에서는 start() 만 하여도 프로그램이 종료되지 않는데, 왜 저의 코드는 종료될까.... try with resources 가 문제인가 싶다가도 그건 아닐거 같은 모호한 상황에 놓여서.... 제가 볼 땐 도무지 보이지 않아서, 코드 리뷰와 원인 파악을 부탁드리려고 질문을 남깁니다. MessageHandler.java package com.hoonjin.study.java.ionetwork.network.chat.client; import lombok.RequiredArgsConstructor; import java.io.DataInputStream; import java.io.IOException; import java.net.Socket; import static com.hoonjin.study.java.util.MyLogger.log; @RequiredArgsConstructor public class MessageHandler implements Runnable { private final Socket socket; @Override public void run() { try (DataInputStream dis = new DataInputStream(socket.getInputStream())) { while (true) { String msg = dis.readUTF(); log(msg); } } catch (IOException e) { e.printStackTrace(); } } } MessageSender.java package com.hoonjin.study.java.ionetwork.network.chat.client; import com.hoonjin.study.java.ionetwork.network.chat.Command; import lombok.RequiredArgsConstructor; import java.io.DataOutputStream; import java.io.IOException; import java.net.Socket; import java.util.Arrays; import java.util.Scanner; import static com.hoonjin.study.java.util.MyLogger.log; @RequiredArgsConstructor public class MessageSender implements Runnable { private static final String DELIMITER = "\\|"; private final Socket socket; private boolean joined = false; @Override public void run() { Scanner scanner = new Scanner(System.in); try (DataOutputStream dos = new DataOutputStream(socket.getOutputStream())) { while (true) { log("input message with cmd: "); String msg = scanner.nextLine(); if (msg.isEmpty()) { continue; } String[] split = msg.split(DELIMITER); String cmd = split[0]; if (Arrays.stream(Command.values()).noneMatch(c -> c.value().equals(cmd))) { log("wrong command"); continue; } if (cmd.equals(Command.EXIT.value())) { dos.writeUTF(msg); joined = false; break; } else if (cmd.equals(Command.JOIN.value())) { joined = true; } if (joined) { dos.writeUTF(msg); } } } catch (IOException e) { e.printStackTrace(); } } } ChatClient.java package com.hoonjin.study.java.ionetwork.network.chat.client; import java.io.IOException; import java.net.Socket; public class ChatClient { private static final String SERVER = "localhost"; private static final int PORT = 23456; public static void main(String[] args) throws IOException, InterruptedException { try (Socket socket = new Socket(SERVER, PORT)) { Thread messageHandler = new Thread(new MessageHandler(socket)); Thread messageSender = new Thread(new MessageSender(socket)); messageHandler.start(); messageSender.start(); messageSender.join(); // 이 부분이 없으면 시작하자마자 즉시 종료됨 } catch (IOException e) { e.printStackTrace(); } } } Command.java package com.hoonjin.study.java.ionetwork.network.chat; import lombok.RequiredArgsConstructor; @RequiredArgsConstructor public enum Command { JOIN("/join"), MESSAGE("/message"), CHANGE("/change"), USERS("/users"), EXIT("/exit") ; private final String value; public String value() { return value; } } 이상입니다. 확인해주시면 감사하겠습니다. 새해복 많이 받으세요!

  • java
  • 네트워크
  • 객체지향
헬로월드 댓글 1 좋아요 0 조회수 125

메서드 추출 시 매개변수

해결됨

김영한의 실전 자바 - 기본편

public static void volumeUp(MusicPlayerData data) { data.volume++; System.out.println("음악 플레이어 볼륨: " + data.volume); } 반복되는 기능을 이후에 재사용하기 위하여 메서드를 추출할 때 매개변수에 (MusicPlayerData data)라고 적어주셨어요. 1) 이때 [MusicPlayerData]라는 것은 클래스(틀, 설계도, 붕어빵틀)인가요? 이게 맞다면,, 그럼 이건 매개변수(파라미터)안에 클래스를 넣은것이라 볼 수 있나요??? 2) MusicPlayerData 클래스 안에 있는 int 변수 [volume]이라는 것은 객체(붕어빵 틀에서 만들어진 붕어빵)라고 하는 것인가요? 용어 정리가 되지 않아 질문드립니다. 답변 감사합니다..

  • java
  • 객체지향
땅콩 댓글 1 좋아요 1 조회수 123

인기 태그

인프런 TOP Writers

주간 인기글