2월 4주차 디자인 패턴과 프로그래밍 패러다임 - 1.2.1 선언형과 함수형 프로그래밍, 1.2.2 객체지향 프로그래밍 #12
shockim3710
started this conversation in
📚 CS 스터디
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
ex) 객체지향 프로그래밍: 프로그래머들이 프로그램을 상호 작용하는 객체들의 집합
→ 자바: jdk 1.8부터 함수형 프로그래밍 패러다임을 위해
1.2.1 선언형과 함수형 프로그래밍
reduce() : ‘배열’만 받아서 누적한 결괏값을 반환하는 순수 함수
함수형 프로그래밍: 작은 ‘순수 함수’들을 쌓아 로직을 구현
자바스크립트: 단순, 유연한 언어
순수 함수: 출력이 입력에만 의존
pure 함수: 매개변수 a, b에만 영향
고차 함수: 함수가 함수를 값처럼 매개변수로 받아 로직을 생성
일급 객체: 변수나 메서드에 함수를 할당
1.2.2 객체지향 프로그래밍
객체지향 프로그래밍: 객체들의 집합으로 프로그램의 상호 작용을 표현
객체지향 프로그래밍 특징: 추상화, 캡슐화, 상속성, 다형성
추상화: 복잡한 시스템에서 핵심 개념을 간추림
캡슐화: 객체의 속성과 메서드를 하나로 묶고 일부를 외부에 감추어 은닉
상속성: 상위 클래스의 특성을 하위 클래스가 이어받아 재사용, 추가, 확장
다형성: 하나의 매서드나 클래스가 다양한 방법으로 동작 (ex: 오버로딩, 오버라이딩)
오버로딩: 같은 이름을 가진 메서드를 여러 개 두는 것
오버라이딩: 상위 클래스로부터 상속받은 메서드를 하위 클래스가 재정의
객체지향 프로그래밍 설계 원칙: SOLID
S - 단일 책임 원칙
O - 개방-폐쇄 원칙
유지 보수 사항이 생기면 코드를 쉽게 확장, 수정할 때는 닫힘
→ 기존의 코드는 잘 변경X, 확장 쉬움
L - 리스코프 치환 원칙
I - 인터페이스 분리 원칙
D - 의존 역전 원칙
Beta Was this translation helpful? Give feedback.
All reactions