25/09/07 - 공부 내용
어제 한계획들
06시 : 기상
06시 10분 : 컴퓨터를 킨다.
08시 : 까지 섹션3:15 고차 함수 까지 간다.
15시 40분 ~ 17시 10분 : 섹션3:15 고참 함수 다시 복습
20시 ~ 22시 : 섹션3 문제 풀이 1~3까지 다 풀기
22 ~ 23시 : 글 쓰기 및 월요일 계획 세우기
성공 여부
[O]
[O]
[O]
[O] : 고차함수까지 복습을 21시 07분에 완료
[△] : 21시 부터 시작에 22시 56분까지 문제풀이 미완료
[O] : 글쓰기 완료
완료한 사진들
체크 하면서 쓰다 보니까 글쓰기를 중간 중간 수정 중. (이게 기억하기 편함.)
람다가 함수가 하나만 허용하는 이유(둘 이상이 아닌 이유 생각 해 본것)
public interface Lambda {
void run();
int value(int a)
}
Lambda lambda = () -> System.out.println("달린다");
이렇게 하면 run() 이라는 메서드 는 정의가 되어 있어서 할 수 있지만
value() 라는 메서드라는 것은 정의가 안되어 있음. 만약에 이렇게 쓸 수 있다고 쳐도
lambda.run(); lambda.value();
코드를 쓰는 사람이 run() or value() 를 호출 할 수 있는데 만약에 value를 호출하면 재 정의 된게 없으므로 오버라이딩 관련 오류 날듯.
문제 풀이1
M1After
영한님 코드는 ("Good Morning!") -> str 이렇게 넣으셨고
나의 코드는 ("Mornig") -> "Good " + str + "!" 이렇게 넣어서 다름
M2After
영한님 코드는 ("무게" + weight + unit) 이렇게 짯다면
나의 코드는 ("무게" + value + "kg") or ("무게" + value+ "g") 이렇게 고침
M5Function
영한님은 switch case로 해결
나의 코드는 if로 해결
메서드 이름(인자 값) {
if(조건1) {
return 내용 생략1;
}
if(조건2) {
return 내용 생략2;
}
return 내용생략3;
}
M3 및 M4는 영한님 문제 풀이가 더 좋음
이유 : 나는 메인 에 익명 클래스를 만들고 값을 반환 했는데, 영한님은 메서드안에 익명 클래스를 넣음
문제풀이2
FilterExample : 변수 이름 빼고는 람다 정답이랑 똑같.
MapExample : 처음에는 코드 작성 부분에 if문으로 deco및 upper를 넣고 바꾸는 식으로 했다가. 메인의 코드를 넣는거 보고 바로 바꿧는데 정답이 나옴.
문제풀이3
ReduceExample: 변수이름 및 출력 내용 빼고는 결과 값은 같다.
문제풀이를 하면서 느낌점: 예전에 했던 푼 기억은 사라졌는데 이건 뭔가 정말 금방 품(10분도 안 걸린듯).
내일 계획
12시 이전 : 오늘(07) 못 푼 문제 풀이 완료 하기 (개인 일정.)
13시 ~ 15시 : 섹션4 - 함수형 인터페이스 듣기 + 문제 풀이 다른점이 있다면 설명
15시 ~ 17시 : 섹션 5 - 람다 활용 듣기
17시 ~ 22시 : 섹션 4~5 복습
22시 이후 : 내일 계획 세우기 및 글 쓰기(정리)
계획 세우면서 느끼점 : 수많은 변수들이 너무 많다. 너무 빡세게 잡지 말자(최대한 지킬려고 노력 했는데 안됨) 그리고 하나씩 체크하려니까 완료하면 중간에 글쓰니까 시간이 예상외로 오래 걸림.
댓글을 작성해보세요.
추가1
문제풀이1 m1After에서
'("Good Morning!") -> str' 이건 람다 아닙니다.
Good Morning! 이라는 str 변수가 들어간다는 뜻인데 지금 보니 람다 같네요,
코드로 보면
메서드 이름("Good Morning!");
이거 입니다.저의 코드는
메서드 이름("Mornig");
이거 이고요.메서드 안에서 동작 하는게 영한님 코드는 인자 값만 바꾸는 것이었다면, 저의 코드는 인자 값에서 앞쪽, 및 뒤쪽에 코드가 붙어 있다는 말이었습니다.
(지금 보니 이 코드는 올려도 되지 않았을까? 라는 생각을 하게 되네요. 유료 강의 이다 보니까 어디까지 공개 하고 어디까지 비공개로 말해야 할지 모르겠네요.)