inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

제네릭이 필요한 이유

변수 작명하신 부분에 궁금증이 있습니다!

151

박상원

작성한 질문수 22

0

Screenshot 2024-11-02 at 5.41.42 PM.png.webp

<섹션 2 - 제네릭이 필요한 이유>

부분인데요.

 

IntegerBox 클래스는 set 메서드에 변수가 value로 작명 되어있습니다.

 

그러나,StringBox 클래스는 set 메서드에 변수가 object로 작명 되어 있습니다.

StringBox에 set 함수 매개변수에, String str이 아니라, String object라고 하신 이유가 혹시 있는걸까요?

 

String str이라고 해도 물론 되겠지만, 혹시 "String object"로 매개변수를 받도록 하신 특별한 의도가 있는건가 싶어서요.

java 객체지향 코딩-테스트 알고리즘

답변 2

0

김영한

안녕하세요. 박상원님 🙂

특별한 의도가 있는 것은 아닙니다 ㅎㅎ

강의를 준비하면서 뭔가 꼬인 것 같네요. 😁

value라고 하는게 더 나을 것 같아요.

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 박상원님.

변수 작명에 대한 질문을 주셨군요. 코드 작성 시 변수 이름을 어떻게 결정할 것인가는 코드의 가독성과 문맥을 고려하는 중요한 부분입니다. 우선적으로 살펴볼 사항은 아래와 같습니다:

  1. 문맥과 용도의 명확성: 변수명은 해당 변수의 용도나 역할을 명확하게 설명할 수 있을 때 가장 이상적입니다. 예를 들어, IntegerBoxvalue는 구체적으로 어떤 값(정수)을 표현할 수 있어 직관적인 네이밍입니다.

  2. 일관성 vs 다양성: 가끔 각 클래스나 메서드에서 일관된 네이밍을 원할 수도 있지만, 다양한 맥락이나 의도에 따라 각기 다른 이름을 부여할 수 있습니다. StringBox에서 object라는 변수명은, 해당 메서드나 클래스에서 저장되는 임의의 객체라는 점을 부각시키기 위해 사용될 수도 있습니다. 이는 개발자가 더 범용적인 용어로 의도를 전달하고자 할 때 흔히 사용됩니다.

  3. 개발자 선호도와 스타일: 간혹 변수명은 코드의 작성자가 선호하는 스타일이나 관습을 반영하기도 합니다.

아래의 질문들과 답변들을 참고하시면 변수 명명 규칙에 대한 더 많은 예시를 확인하실 수 있습니다:

각 변수명은 코드의 문맥과 의도에 따라 다양하게 설정될 수 있습니다. 실제 코드 작성 시에는 변수명이 직관적이면서도 명확하게 사용될 수 있도록 고민하는 것이 중요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

제네릭 타입 매개변수 제한과 관련한 문의입니다.

0

80

3

강의가 좀 버겁다 느껴질 때 학습방법 문의

1

135

4

제네릭 반환값 및 파라미터 선언 방식의 변화 <T> T

0

62

1

new T()가 안 되는 니유

0

102

1

안녕하세요, 문제와 실행 결과가 다른 부분이 있어 제보드립니다.

0

98

2

자바 로드맵 선택 질문

0

111

2

실전 자바 중급 - 2편 후 추천 강의

0

176

2

실프로젝트에서 Java25버전 사용

0

121

1

Arrays.sort

0

68

1

블로그 작성 시, 저작권 문제에 대하여

0

166

1

중급2편 56강의 bucket.add(value); 메서드가 이해가 안됩니다.

0

94

3

pop()과 poll()의 차이

0

94

1

특정 index의 노드 조회하기 질문

0

66

2

List.of() 비어있는 불변 리스트 생성

0

81

2

문제2: 개 타입 반환

0

56

2

[리뷰] 중급2편까지 겨우 완강 했습니다.

0

114

2

문제와 풀이1 Ex2와 Ex3

0

65

2

노드 삭제시 노드 null값으로 초기화

0

77

2

강의영상에 대한 질문

0

57

1

타입 매개변수 제한

0

59

1

compareTo

0

68

1

직접 구현하는 연결리스트 3 - 추가 부분 질문있습니다

0

99

3

섹션 8-58 equals and hashcode 에서 코드가 다르게 생성됨

0

70

2

퀴즈 오류 관련 문의

0

109

1