-
24년 4월 28일 TIL공부 기록 2024. 4. 28. 22:15
if 조건문 활용법에 대해서
메서드 안에 if 조건문을 사용 할 때 파라미터를 이용 해서 if조건문을 활용 할 수 있다.
메서드를 실행 할 때 파라미터에 스트링 값에 널값을 주고 if에 파라미터가 널이 아니라면 실행 하게 하는 코드였는데 그 방법을 이용 해서 상점에서 구매 할 때 경우에 따라 문구가 출력 하게 했다.
void PurchaseMeue(string? prompt = null) <= 자료형 뒤에 ? null 연산자를 사용 한 것이다. ?? 등 다른 것도 있다.
이 메서드 안에서 if조건문을 사용 할 때 파라미터에 prompt를 이용 해서 if 조건문도 사용 할 수가 있다.
if(prompt != null) < = prompt가 null이 아니라면, 메서드를 실행 할 때 매개변수에 값을 넣어줬다면 실행이 된다.
이 활용법을 통해서 아이템을 구매를 실패 하거나, 구매한 아이템 일 때 PurchaseMenu를 다시 호출 하면서 안에 파라미터에 "골드가 부족 합니다", "이미 구매 한 아이템 입니다." 등을 입력 해서 if 조건문이 실행 되고 파라미터에 입력 된 값을 출력 하게 했다.
이렇듯 파라미터를 이용한 활용법을 떠올리면 코드를 간단하게 작성 할 수도 있고, 가독성도 좋아지게 하는 것 같다. 파라미터 뿐 아니라 다른 것들도 잘 생각 해내면 더 좋게 코드를 작성 할 수 있으니 항상 떠올리는 연습을 하자.
=================
어떠한 결과에 따라서 실행을 달리 할 경우 switch가 훨씬 좋은 것 같다.
이번 과제에서 0번 외에 나머지 아이템 목록을 선택 할 경우 1~9 번 같은 것을 할 때 defalut로 나머지를 한 번에 처리 했다.
난 if 조건문을 사용 해서 좀 지저분 하게 작성을 했었다. 가독성이 좋아야 유지보수도 편한 법...,
=================
enum 이넘은 이름을 잘 지어야 겠다. 그래야 가독성이 좋을 것이다. Color.RED 음 이름 떠올리기가 쉽지 않네.
그리고 이넘은 정수가 아니라서 연산처리 할 때 int나 플룻으로 바꿔서 처리를 해줘야 한다.
=================
프로퍼티 : 다른 클래스에서 필드에 접근 셋팅 할 수 있게 하는 것이다. 프로퍼티 말고도 메서드를 만들어서 접근하고 셋팅 할 수도 있긴 한다고 한다.
프로퍼티를 작성 하는 법
string name;
public string Name < = 변수명과 같으면 안 되기에 대문자로 선언을 한다.
{
get{ return name}
set{ name = value}
}
이 때 set 부분에 if조건문을 활용 해서 조건에 따라 set을 하게 할 수 있다. set { if( value < 10) name = value}
생성자 안 쓰고 값을 초기화 하는 방법 : new item() { Name = “Red potion”} ;
=================
참조의 형태, 실형태, 흠 . 부모 클래스를 참조의 형태, 자식 클래스를 실형태 라고 들은 것 같은데 실형태는 객체? 라고 해야 하나. 참조의 형태 실형태. 지금은 이렇게 물러나지만 나중엔 봐주지 않는다.
추상 클래스는 추상메서드를 포함 할 수 있고, 다른 메서드도 가질 수 있다. 추상메서드는 내용은 적으면 안 되는 거 알지 원강아.
==================
제너릭. 제너릭 이게 참 헷갈리는 친구다. 컬렉션이 제너릭이 아니군. List가 제너릭이 아니군. 허허
뭐라고 정의를 해야 할까. 흠 <T>라고 많이 하는데 타입형 파라미터를 적용 해서 같은 로직에 대해서 실행 하는 자료형에 따라 값만 바뀌는 것을 실행 할 때 <T> 파라미터를 사용 하는데 이 때 int 형 변수나 뭐 다른 것들 다이나믹으로 만들어 줘야 오류가 안 나고,, 오늘은 여기서 물러난다. 다음 TIL에서 두고보자.
==============
인터페이스 : 음 클래스보다 높은 거라고 말을 해야 할까. 추상클래스와 비슷한데 좀 다르다. 다중상속이 가능 하고 메서드들을 만들어두면 상속 받은 클래스는 무조건 구현 해야 한다. 그래서 인터페이스만 확인 해도 어떠한 기능들이 있는 클래스인지 쉽게 확인이 가능 하다. 그리고 인터페이스 명은 대문자 I로 시작하게 지어줘야 한다. 다음 글자도 대문자.
==============
오늘의 목표를 다 이루지 못 하였다.. 동영상 강의를 보는데 무엇인진 알겠는데 모르겠다. 뭔 소린지?? 나만 이런가? ㅎㅎ;;
큰일났네 ㅋㅋ. 그래도 3주차 강의때도 한 3번 돌려보니까 이해 했으니 이번에도 열심히 다시보기 하다보면 깨닫겠지..
인터페이스 무슨 느낌인진 알겠는데 어떨 때 사용 하는지,, 어떻게 사용 하는지 알려주는데 왜 받아들이지 못 하니. 내머리야. 델리게이트 함수를 변수처럼 만든다 그러는데 대신해서 사용... 람다식은 뭘 숨긴다고,, 머였지 ㅋㅋ 예외 처리 try,, 그래도 시간 지나고 나면 이런 걸 어려워 했다고? 하고 있겠지?,, bool 이 뭔지도 몰랐으니까 .., 그 때가 빨리 왔으면 좋으려만, 아우 다음 주 심화강의가 두렵네 ㅋㅋ. 강의 왔다고 좋아했건만 이렇게 허덕일 줄 몰랐다. 지금 배우고 있는 것들은 진짜 기초인 것들 같은데,,,,,, 가나다라마바사 배우고 있는데 지금 ,,,, ㅋㅋ..... 흠
'공부 기록' 카테고리의 다른 글
24년 4월 30일 TIL (3) 2024.04.30 24년 4월 29일 TIL (0) 2024.04.29 24년 4월 27일 (0) 2024.04.27 24년 4월 26일 TIL (1) 2024.04.26 2024년 4월 25일 TIL (1) 2024.04.25