221206 TIL

이지섭·2022년 12월 6일

오늘의 공부

stream

  • 병렬 stream 사용이 의미가 있으려면 원소 개수가 충분히 많아야 한다
    • 원소 개수가 10000개는 있어야 한다.
    • 원소 개수가 적어도 그냥 가독성 때문에 stream을 사용하기도 한다.

객체의 의미

  • 속성
    • 해당 객체에 저장되어 있는 데이터
  • 행위
    • 객체가 행동하여 객체의 상태를 변화시키는 것
  • 정체성
    • 다른 객체와 구별할 수 있는 저마다의 특성

객체지향 설계의 특징

  • 사람이 생각하는 방식
  • 객체에서 제공하는 인터페이스만을 통해 데이터에 접근
  • 유연한 변경, 확장, 재사용

캡슐화

  • 기능과 방법만 알면 사용 가능하도록 정보와 처리방식을 외부로부터 감춤
  • 장점
    • 데이터 손상 방지
    • 객체 제공자와 이용자의 명확한 역할 분담
    • 메소드 로직이 변화되어도 이용에는 문제 없음

다형성(Polymorphism)

  • 여러개의 형태를 갖는다는 뜻
  • 하나의 인터페이스로 서로 다른 구현을 제공
  • 오버로딩, 오버라이딩
  • 장점
    • 새로운 클래스 추가 용이
    • 동적 바인딩
  • 프로세스 지향에서는 함수(기능의 단위)라는 말을 썼다면,
    객체 지향에서는 행위(오퍼레이션)이라는 단어를 사용

클래스 관계 식별

  • 상속관계 파악 (IS-KIND-OF)
  • IS-A, HAS-A 파악

UML

클래스 설계 원칙

  • 단일책임 원칙 : 응집력을 높이도록 설계
  • 상속을 통한 확장과 재사용성 제고
  • 변하는 것과 변하지 않는 것 구분
  • 클라이언트에 맞는 인터페이스만 분리하여 설계

객체지향 설계 정리

  • - [https://techblog.woowahan.com/2502/](https://techblog.woowahan.com/2502/)

객체가 수신한 메시지가 객체의 인터페이스를 결정한다

인터페이스

  • 같은 행동을 하는데 종류가 다른 객체가 생길 경우

느낀점

  • 해외취업 준비해보는것도 나쁘지 않을 것 같다...
    대신 준비한다면 제대로 해야겠지...

메모

  • 누가 소프트웨어의 심장을 만들었는가?
    • 도서관 가서 빌려오기
  • 백준 팁 : 문제 푼 사람이 많을 수록 좋은 문제
  • 계획?
    • 알고리즘공부
      • 오전 : 백준 하루 두 문제씩 시작해보기
      • 나동빈 책
    • 영어공부
      • 2시 미드 쉐도잉
    • 그 외 시간 전부 스프링, CS, 개발서적 독서
profile
Stop thinking. Just do it.

0개의 댓글