inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Tái cấu trúc đã học thông qua mã hóa

Tái cấu trúc 9. Truyền toàn bộ đối tượng

객체의 필드 몇개만 전달할 경우, 통째로 넘기기 vs 여러개로 넘기기

510

void

8 câu hỏi đã được viết

0

class Member {

String id;

String name;

String addr;

int age;

}

 

위와 같은 클래스가 있고, 그중 절반정도의 필드를 매개변수로 넘겨야 할 경우,

아래 2가지중 하나를 선택하는 고민을 매번 하게 됩니다.

1) void check(id, name); 으로 할것인가

2) void check(Member member); 로 할것인가

 

클래스의 모든 필드를 참조한다면 , 당연히 객체를 통째로 넘기면 되나, 절반 정도만 사용한다면 고민이 됩니다. 범용적일 필요가 없는 메서드라고 하더라도, 불필요한 값들을 객체를 통째로 넘기므로, 이 객체필드중 어떤걸 사용하지? 하면서 '구현'을 찾아봐야 하는 단점이 있어 보입니다.

사용하는것만 무조건 넘겨야 한다면, 매개변수 갯수가 늘어나거나, 전용 dto를 만들어야 하니 불편하고,

통째로 넘기는걸 반복하다 보면 의미없는 필드가 더 많은 객체를 매개변수로 넘기는 것과 다름없는 문제가 있어보입니다.

절충점을 어떻게 찾아야 할까요?

 

intellij java refactoring

Câu trả lời 0

리팩토링 10. 함수를 명령으로 바꾸기 강의 부분에서 질문있습니다.

0

94

1

함수 추출하기 부분에서 의도와 구현에 대해 질문 있습니다.

0

202

1

레코드에 대해 질문 있습니다.

0

219

2

.github 토큰 등록하는 방법에 대한 질문

0

220

2

깃허브

0

202

1

홈 디렉토리 .github 파일 생성

0

456

1

리팩토링 22. 여러 함수를 변환 함수로 묶기 강의 내용과 소스 코드가 다른 부분 문의

0

554

1

필드를 감추는 것이 중요한 이유?

0

568

1

오타제보. CVS -> CSV

0

375

0

[오탈자제보] 아주 작은 오타

2

401

0

basePrice

0

294

1

4:04 단축키 궁금합니다.

0

435

1

rename 메뉴에 대한 사소한 질문

0

356

1

테스트 코드 예제

0

308

1

Exception 부분

0

338

1

리팩토링 강의 [ 일부 소스 파일 누락 ]

0

331

1

stream으로 변경 시 성능 문제

0

437

2

로컬 변수에 final

0

458

1

Area 밑줄 나온부분

0

404

1

클래스의 상속 vs 네임스페이스 vs nested 클래스

0

322

1

이런 경우도 따로 함수로 빼는게 좋을지 궁금합니다.

0

279

1

질문입니다

2

265

1

파라미터와 이들을 가진 클래스

0

237

1

해당 강의를 실행시 아래와 같은 에러가 발생합니다..!

0

598

2