25/02/05 (수)
어제 푹 잤더니 좀 괜찮아진것 같습니다.
라고 생각했는데 LG CNS 공모주가 쭉 떨어져서 안괜찮아진것같습니다.
갑자기 머리가 아픕니다..
6만원대 찍더니 다시 5.5만원대로 떨어졌습니다.
연휴랑 요 며칠 무리하게 공부해서 그런가 피곤이 가시지를 않습니다.
그래도 또 힘내보겠습니다.
1. WorkShop 발표
오늘 워크샵은 없습니다
2. 강의
2.1. CH16 람다식
1) 매개변수가 없는 람다식
- 함수형 인터페이스의 추상 메소드에 매개변수가 없을 경우 람다식 작성법
- 실행문이 두 개 이상일 경우에는 중괄호를 생략할 수 없고, 하나일 경우에만 생략할 수 있음
2) 매개변수가 있는 람다식
3) 리턴값이 있는 람다식
4) 메소드 참조
메소드 참조
- 메소드를 참조해 매개변수의 정보 및 리턴 타입을 알아내 람다에서 불필요한 매개변수를 제거
정적 메소드와 인스턴스 메소드 참조
클래스 :: 메소드
- 정적 메소드를 참조 시 클래스 이름 뒤에 :: 기호를 붙이고 정적 메소드 이름을 기술
참조변수 :: 메소드
- 인스턴스 메소드일 경우에는 객체를 생성한 다음 참조 변수 뒤에 :: 기호를 붙이고 인스턴스 메소드 이름을 기술
매개변수의 메소드 참조
(a, b) -> {a.instanceMethod(b);}
- 람다식에서 제공되는 a 매개변수의 메소드를 호출해서 b 매개변수를 매개값으로 사용
- a의 클래스 이름 뒤에 :: 기호를 붙이고 메소드 이름을 기술
5) 생성자 참조
2.2. CH18 데이터 입출력
1) 입출력 스트림
IO 패키지 굳이 복습하지마라고 하셨습니다.
그 시간에 다른(뭐였더라) 입출력 복습하라고 하셨습니다.
- Blocking, Non-Blocking, Sync, async 구분하기
OutputStream
- 출력 스트림의 최상위 클래스 (추상 클래스)
- 모든 바이트 출력 스트림 클래스는 OutputSteam 클래스 상속 받음
WorkShop> Blocking, Non-Blocking, Sync, async 구분하기
2) 바이트 출력 스트림
1 바이트 출력
- write(int b) 메소드 : 매개값 int(4byte)에서 끝 1byte 만 출력. int 타입
바이트 배열 출력
3) 바이트 입력 스트림
InputStream
- InputStream
1 바이트 입력
- read() 메소드 : 입력 스트림으로부터 1byte를 읽고 int(4byte) 타입으로 리턴. 리턴된 4byte 중 끝 1byte에만 데이터가 들어있음
4) 문자 입출력 스트림
문자 출력
Reader
5) 보조 스트림
보조 스트림
ObjectInputStream, ObjectOutputStream : 객체 입출력
6) 문자 변환 스트림
넘어갑니다
7) 성능 향상 스트림
메모리 버퍼로 실행 성능을 높이는 보조 스트림
8) 기본 타입 스트림
넘어갑니다
9) 프린트 스트림
넘어갑니다
10) 객체 스트림
넘어갑니다
11) File과 Files 클래스
넘어갑니다
2.3. 디자인 패턴
1) Singleton
- 객체를 단 한개만 만들 수 있게 제한하기 위해
- 생성자를 private로 만듦
- 자신 객체를 생성, 전달하는 메소드를 제공 (static으로 만들어 객체 생성 없이 호출)
- static 필드로 Logger 변수 필요
2) Methodchain
3) Builder
- 개발자 코드 작성 및 유지보수 장점
- Builder클래스 자체가 복잡하고 객체 생성시 메모리 낭비가 심함
4) Iterator
3. 마무리
1) WorkShop
WorkShop> generic wildcard(*) 교재 이행
WhokShop> StringContainer에 적용된 Iterator에 String만이 아닌 다른 타입도 적용하도록 generic 적용
2) 오늘 식단
'LG 유플러스 유레카 > 소프트웨어 엔지니어링' 카테고리의 다른 글
[7일 차] 소프트웨어 엔지니어링 (Ch13 ~ Ch16) (0) | 2025.02.04 |
---|---|
[6일 차] 소프트웨어 엔지니어링 (Ch08 ~ Ch12) (0) | 2025.02.03 |
[5일 차] 소프트웨어 엔지니어링 (Ch07 ~ Ch08) (2) | 2025.01.24 |