inflearn logo
강의

Course

Instructor

Solid Foundation! Java Starting Strongly - Part 2: OOP and JVM

3-step code explanation

MyListEx 질문드립니다.

Resolved

136

Hahahabah

1 asked

1

MyListEx 생성자에서 UserData를 매개변수로 받도록 설계한 이유에 대해 궁금합니다.

MyNode라는 추상 자료형(ADT)을 정의해 두셨는데, 생성자에서 특정 구현체인 UserData를 직접 받는 방식이 추상화의 장점을 제한할 수 있다고 생각합니다.

또한, onRemoveNode 메서드에서도 UserData 타입으로 변환하지 않고 MyNode에 정의된 메서드만으로도 충분히 기능 구현이 가능해 보이는데, 혹시 MyListEx는 UserData를 위한 전용 자료구조로 설계된 것인가요?

그렇지 않다면, MyNode를 기반으로 유연성을 유지하도록 설계하는 것이 더 적합하지 않을까 하는 생각이 들어 질문드립니다.

java 객체지향 jvm data-structure

Answer 1

1

nullnull8537

거창하게 설계 했다라기 보다 설명 과정에서 MyListEx는 사실 상 UserData 클래스를 위한 전용 클래스 성격을 갖기 때문에 확장성 혹은 범용성을 생각하지 않고 사용상의 편의만 고려한 것으로 이해하시면 되겠습니다.

그리고 사실 선형 자료구조를 이용하는 각종 컬렉션 클래스들은 범용성 극대화를 위해 ADT를 적용하기 보다 제네릭으로 구현합니다.

 

아무튼 질문하신 내용은 매우 바람직하고 합리적인 것 입니다. 제대로 OOP를 이해하고 있다는 확실한 증거라 할 수 있겠습니다. 잘 하셨습니다. 😃

0

Hahahabah

설명해 주셔서 감사합니다.

compareTo를 사용하는 이유가 뭔가요?

0

46

1

[실습] MyString에 복사 생성자 추가

0

38

1

안녕하세요~ 회수라는 의미에 대해서 질문합니다.

0

71

1

equals의 재정의(overriding)에 대해서

0

80

2

TestEx 객체 생성 시 생성자 호출 질문

0

62

2

[MyString 실습 인스턴스 중복 생성 문의] MyString.setString(String param)

0

100

2

주소록 실습 3단계에서 막혔어서 조언을 구하려고 질문 드립니다.

0

85

2

해시 알고리즘 관련으로 질문이 있습니다.

0

73

2

21분 경 Old generation의 GC 설명 질문입니다.

0

102

3

임시 객체의 첫 번째 상황에 대한 질문

0

70

2

String 객체가 하나 더 생성되는 이유가 궁금합니다

0

190

3

하위 클래스와 상위 클래스의 생성자 순서

0

105

2

GC의 age와 관련하여 질문 있습니다.

0

97

2

Object Header 의 Klass word (39강 36:00)

0

115

2

method area는 이름이 class area가 아니고 왜 method aread인지 궁금합니다.

0

139

2

교안 p.305 'throw 필수' 질문

0

81

1

Metaspace에 대한 질문

0

258

2

clone() 메서드를 재정의함으로써 Deep copy로 구현한다로 이해하면 될까요?

0

120

2

part3 강의 개강

0

197

2

문자열 비교 강좌에서 문자열 선언 방법 간에 hashCode() 값 관련한 질문입니다.

0

222

2

상속과 오지랖의 콜라보 예제에서 clone() 메서드에 대한 문의드립니다.

1

182

2

보이지 않는 임시 객체의 자막 수정 요청

0

116

2

스레드 관련해서 질문이 있습니다.

0

203

1

metaspace 관련 문의드립니다.

0

199

2