2주차 : 주요 메카닉 구현
구현한 내용
- 주문하기 버튼 완성
- 리팩토링
아직 데이터들이 만들어지지 않아서 일단 테스트 코드를 넣어 데이터만 넣으면 실행될 수 있게 로직 완성했음
기술면접 대비 12일차
Q : 'delegate', 'event','action','func' 간의 차이를 설명해주세요
A : delegate와 event의 가장 큰 차이점은 event는 인터페이스 내부에 선언할 수 있지만, 델리게이트는 선언할 수 없습니다
그리고 event는 클래스 내부 상태를 캡슐화하고, 외부에서 무분별한 조작을 방지하여 안정성을 높이기 위해 public으로 선언되어도 다른 클래스에서는 직접 호출할 수 없습니다
Action과 Func은 사용자 지정 델리게이트로 일반 델리게이트와는 다르게 명시적으로 델리게이트를 선언할 필요가 없습니다 Action은 반환값이없는 메서드를 참조하고 Func은 반환값을 가지는 메서드를 참조합니다
a.(꼬리질문) 프로젝트에서 사용한 경험이 있나요 ?
: UI들을 관리할 때 자주 사용했습니다 주로 Action event를 이용하여 특정 버튼이 눌렸을 때, 데이터가 업데이트 되었을 때 등 상태 변화나 특정 상황이 발생 했을 때 사용하여 객체 간의 의존성을 줄일 수 있었습니다
* delegate : 메서드를 참조한다, 다른 메서드를 호출하거나 메서드의 참조를 전달하는 데 사용
* Event : 이벤트는 클래스 내에서 발생한 특정한 동작을 다른 클래스에 통지하기 위한 메커니즘으로 델리게이트를 기반으로 하며, 이벤트가 발생하면 연결된 메서드(이벤트 핸들러)가 호출된다
* Action : 특정한 시그니처(매개변수) 를 가진 메서드를 참조하는 데 사용되고, 반환 값이 없는 메서드를 참조할 때 주로 사용된다
*Func : 반환 값을 가지는 메서드를 참조하는 데 사용되고 입력 및 출력 매개변수의 유형을 정의 할 수 있다
*
| 특성 | Delegate | Event | Action | Func |
| 용도 | 메서드 호출 및 참조 전달 | 클래스 간 이벤트 통지 및 핸들링 | 간단한 메서드 참조 및 람다 식 사용 | 반환 값을 가지는 메서드 참조 |
| 반환 값 | 없거나 다양한 반환 유형 가능 | 없음 | 없음 | 반환 값을 가짐 |
| 매개변수 | 다양한 매개변수 유형 가능 | 주로 이벤트 핸들러 이벤트 데이터를 전달 | 다양한 매개변수 유형 가능 | 다양한 입력 매개변수 및 반환 매개변수 지정 가능 |
| 활용예시 | 이벤트 처리, 콜백 함수 등 | UI 이벤트 핸들링, 옵저버 패턴 | 간단한 비동기 처리, 람다 사용 | LINQ 및 함수형 프로그래밍에서 반환 값을 필요로 할 때 |
'TIL' 카테고리의 다른 글
| [TIL] 내일배움캠프_Unity 최종 프로젝트 3주차: 주요 메카닉 구현 8, 기술 면접 대비 14일차 (0) | 2023.11.07 |
|---|---|
| [TIL] 내일배움캠프_Unity 최종 프로젝트 2주차: 주요 메카닉 구현 7, 기술 면접 대비 13일차 (0) | 2023.11.06 |
| [TIL] 내일배움캠프_Unity 최종 프로젝트 2주차: 주요 메카닉 구현 5, 기술 면접 대비 11일차 (1) | 2023.11.03 |
| [TIL] 내일배움캠프_Unity 최종 프로젝트 2주차: 주요 메카닉 구현 4 , 기술 면접 대비 10일차 (0) | 2023.11.02 |
| [TIL] 내일배움캠프_Unity 최종 프로젝트 2주차: 주요 메카닉 구현 3 (FEAT.MVC 패턴), 기술 면접 대비 9일차 (0) | 2023.11.02 |