일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Armhole Drop
- 엑셀필터복사붙여넣기
- AATCC
- 40HQ컨테이너
- 엑셀드래그단축키
- 비슬론지퍼
- 요척합의
- TACKING
- WHATTIMEOFTHEDAY
- 슈퍼코딩
- 지연환가료
- 우레탄지퍼
- 암홀트롭
- 헤이큐
- MERN스택
- 와끼
- 봉제용어
- 고급영어단어
- 핸드캐리쿠리어차이점
- 클린코드
- 웹API
- 미국영어연음
- 필터링후복사붙여넣기
- 엑셀자동서식
- 비리짐
- 미니마카
- 영어시간읽기
- 40HQ컨테이너40GP컨테이너차이
- 나일론지퍼
- 자켓실측
- Today
- Total
CASSIE'S BLOG
[슈퍼코딩] 64-2강 디자인 패턴 소개 본문
userBuilder의 constructor 만들고, 근데 빈 constructor를 만들면 된다고함.
스스로 UserBuilder를 반환하는 메소드를 정의한다.
이런 식으로 메소드 계속 만들면 된다.
여기서 this는 뭐야? public userBuilder firstName (String firstName) { this.firstName = firstName; return this; }
위 코드는 빌더 패턴(Builder Pattern)을 사용하여 사용자(User) 객체를 생성하는 빌더 메서드 중 하나입니다. 여기서 this는 현재 객체(메서드가 속한 객체)를 나타냅니다.
해당 메서드는 userBuilder 클래스의 인스턴스를 생성하거나 수정하는 메서드로, firstName 필드를 설정하고 빌더 자체를 반환합니다. 메서드의 반환 유형이 userBuilder이기 때문에, 메서드 체이닝(Chaining)을 사용할 수 있습니다.
예를 들어:
메서드 체이닝(Method Chaining)은 객체 지향 프로그래밍에서 사용되는 디자인 패턴 중 하나로, 여러 메서드 호출을 하나의 문장처럼 연결하여 사용하는 패턴을 말합니다. 이는 코드를 간결하게 작성할 수 있도록 도와주며, 가독성을 향상시키는데 기여합니다.
메서드 체이닝은 주로 빌더 패턴이나 플루언트 API(Fluent API) 디자인에서 많이 사용됩니다. 위에서 제시한 예제에서 빌더 패턴을 사용한 코드는 메서드 체이닝을 활용한 좋은 예입니다.
위의 코드에서 firstName, lastName, age와 같은 메서드를 연이어 호출하여 객체를 설정하고 있습니다. 각 메서드는 자신이 속한 객체를 반환하므로, 다음 메서드를 연달아 호출할 수 있습니다.
장점으로는 다음과 같은 점이 있습니다:
- 가독성 향상: 여러 메서드 호출이 하나의 문장처럼 연결되기 때문에, 코드의 의도가 더 명확해집니다.
- 코드 간결성: 여러 줄의 코드를 한 줄로 표현할 수 있으므로, 코드가 더 간결해집니다.
- 선택적인 메서드 호출: 필요한 메서드만 호출할 수 있으며, 다른 메서드는 호출하지 않아도 됩니다.
주의할 점은 메서드 체이닝을 사용할 때, 각 메서드가 자기 자신의 객체를 반환하도록 구현되어 있어야 합니다. 이를 위해 메서드는 보통 자기 자신(this)을 반환하도록 설계됩니다.
'PROGRAMMING > 슈퍼코딩 강의 정리' 카테고리의 다른 글
[슈퍼코딩] 65-2강 어노테이션과 메타 프로그래밍 (0) | 2023.12.16 |
---|---|
[슈퍼코딩] 65-1강 어노테이션과 메타 프로그래밍 (0) | 2023.12.16 |
[슈퍼코딩] 64-1강 디자인 패턴 소개 (0) | 2023.12.16 |
[슈퍼코딩] 63-2강 멀티쓰레딩 프로그래밍 (0) | 2023.12.16 |
[슈퍼코딩] 63-1강 멀티쓰레딩 프로그래밍 (0) | 2023.12.16 |