life is egg
22.12.01 [JAVA 심화 2] 본문
인터페이스 vs 추상클래스
https://okky.kr/articles/352436
- 추상클래스 
- 여러개의 가까운 클래스들 사이에 동일한 코드를 나누어서 사용하고 싶을때.
 - 추상클래스를 상속한 클래스들이 많은 공통 메소드들과 필드와 public 보다 다양한 접근 제어자에 의해 사용하고 싶을때.
 - non-static 과 non-final 필드를 선언하고 싶을때. 결과적으로 객체들의 상태를 메소드에서 접근하고 수정 할 수 있게 되겠지.
 
 - 인터페이스
- 크게 상관없는 클래스들이 너의 인터페이스를 구현해야 할 필요가 있을때. 예를들어 Comparable and Cloneable
 - 특정 데이터타입의 행위를 특별하게 구현하길 원할때 그러나 누가 그것의 행위를 구현 했는지에 대한 관심은 없을때
 - 다중 구현상속의 이점을 누려야 할때
 
 
업캐스팅
>캐스팅 is 형변환
>>업캐스팅 부모형이 자식인스턴스에 담긴다! 부모는 작고 자식은 크다 ! 그러니까 가능하다 !
>>다운캐스팅도 있는데 업캐스팅이 먼저 선행되어야함 내가 그런상황을 마주할까?
모든 클래스는 object 구현중
즉 모든 클래스는 object로 Upcasting가능 ( Object anyClazz = new AnyThing(); )
다형성 오버라이딩이 왜 다형성을 ..?
promotion is 자동형변환
Dynamic Dispatch 이해가 안됨..? 런타임시점에서 오버라이딩된 메소드가 구현이됨 .?
https://velog.io/@maigumi/Dynamic-Method-Dispatch
이해가 안됨
함수형 인터페이스
인터페이스 배웠자나 근데 그게 추상메소드 하나만 가지고있는것!
람다표현식
메소드(함수)를 하나의 식으로 표현 해버린것~!
난 어렵다 그래도 연습한다!
메소드 레퍼런스
>있는거 가져다 쓰세여 ..
HOF
>Higher-Order-Function 뭔가 함수형 프로그램에서 많이 쓰이는 말인가보다
>인자로 값을 받고 결과를 리턴 해주는것?
스트림
call back? hell ? for 안에 for있거나 if있고 안에 if있고 걍 인터스텔라처럼 계속 안으로 들어가는건가?
>>개선하기 위해 나온것..
스트림은 원본데이터를 변경하지 않는다... 가져다가 쓰기만 하나보군여
재사용 불가능...
파이프라인으로 설명한다..! ..순서가 중요 .. 0~N의 중개연산(stream을 리턴) + 1개의 종료연산구성
>> 파이프라인... 그니까 왼쪽에서 오른쪽으로 순차적으로 진행된다는 말같은데...?
옵셔널
메소드의 반환 타입으로만 사용해야함..! 매우 제한적 사용!
옵셔널은 wrapper class
연습해보기 !
'TIL' 카테고리의 다른 글
| 22.12.05 [Spring 입문-SQL] (2) | 2022.12.06 | 
|---|---|
| 22.12.02 [JAVA심화3 +CS] (2) | 2022.12.04 | 
| 22.11.30 [자바심화 1일차 & 미니프로젝트피드백] (0) | 2022.11.30 | 
| 22.11.29 [미니_팀_프로젝트 3일차] (2) | 2022.11.29 | 
| 22.11.25 [미니_팀_프로젝트 2일차] (0) | 2022.11.26 |