목록전체보기 (378)
코딩로그
[ISP] "하나의 일반적인 인터페이스보다는 여러 개의 구체적인 인터페이스가 낫다" 목적과 관심이 다른 클라이언트들은 각각의 인터페이스를 통해 분리 하나의 인터페이스는 하나의 역할에 대한 기능만 수행 타기능 완전 삭제 or 별도의 인터페이스 생성 클라이언트의 목적과 용도에 필요한 인터페이스만 제공 기능을 더 작은 기능들의 집합으로 쪼개서 필요한 기능만 수행 어떤 클래스가 다른 클래스에 종속될 때는 가능한 최소한의 인터페이스만 사용 자신이 사용하지 않는 인터페이스는 구현하지 않아야 함 SRP(단일 책임 원칙)과 유사한 목표 SRP → 클래스 관련 ISP → 인터페이스 관련 [Example] Bad Example 원하는 않는 기능까지 모두 overriding해야 구현 가능 // ISP Bad Example ..
[LSP] 리스코프 치환 원칙 Liskov Substitution Principle OCP를 가능하게 해주는 원칙 부모 객체와 이를 상속한 자식 객체가 있을 때 부모 객체를 호출하는 동작에서 자식 객체가 부모 객체를 완전히 대체할 수 있어야 함 자식 클래스는 부모 클래스처럼 똑같은 요청에 대해 똑같은 응답을 할 수 있어야 하고, 이때 응답의 타입 또한 같아야 함 자식 클래스에서 overriding 해 부모 클래스에서 구현된 method를 재정의하는 행위 == 부모 클래스의 책임 무시 일관성 위반 자식 클래스는 부모 클래스가 따르던 계약 사항을 따라야 함 선행 조건 == 모듈을 호출하기 위해 참이어야 하는 조건 후행 조건 == 모듈이 동작한 뒤 참이어야 하는 조건 자식 클래스에서 선행 조건은 강화될 수 없..
[OCP] 개방 폐쇄 원칙 Open Closed Principle 클래스, 모듈, 함수는 확장에 대해서는 열려있어야 하지만 변경에 대해서는 닫혀 있어야 함 확장 → 새로운 타입을 추가함으로써 기능 확장 변경 → 확장이 발생했을 때 해당 코드를 호출하는 쪽에서 변경 발생 X 기존 코드 변경 없이 기능 추가할 수 있도록 설계 기존 코드 변경 없이 상속과 확장을 통해 변경할 수 있게 설계 변경되는 클래스의 영향이 밖으로 미치지 않도록 중간에 추상 클래스, 인터페이스 같은 완충장치 O 객체 지향의 추상화, 다향성 활용 다형성 → 하나의 객체가 여러 타입을 가질 수 있는 것 해당 클래스의 기존 동작을 변경하지 않고 클래스의 동작을 확장하는 것을 목표 하나의 변화가 다른 곳에도 연쇄적으로 변화를 일으키는 것을 방지..
[SRP] 단일 책임 원칙, Single Responsibility Principle 클래스는 단 하나의 책임을 가져야 함 책임 → 기능 액터 시스템이 동일한 방식으로 변경되기를 원하는 사용자 집단 클래스를 변화시킬 수 있는 주체 ex) 기획자, 디자이너, 개발자 한 클래스가 수행할 수 있는 기능이 여러 개인 경우, 클래스 내부 함수끼리의 강한 결합 발생 높은 응집도 + 낮은 결합도 → 객체 지향 설계의 핵심 응집도 → 모듈의 독립성, 모듈 내부 구성 요소 간의 연관 정도 결합도 → 외부 모듈과의 연관 정도, 모듈 간의 상호 의존 정도 강한 결합 발생 → 해당 핵심 위반 새로운 요구사항이나 프로그램 변경에 의해 클래스 내부의 동작 연쇄 변경 가능성 O 유지보수 비효율적 → 잘게 쪼개어 분리 클래스를 변경..

[함수의 연속] 함수 연속성의 정의 다음의 세 조건을 만족할 때 함수는 연속(continuous) x = a에서 함숫값 f(a)가 정의 f(x)의 극한값 존재 f(x)의 극한값 == f(a)값 임의의 양수 ε에 대하여, 조건 '| x - a | < σ이면 | f(x) - f(a) | < ε'를 만족하는 양수 σ가 존재하는 경우 함수 f(x)는 x = a에서 연속 한 가지 조건이라도 만족하지 않으면 → 불연속 연속 함수의 성질 최댓값, 최솟값의 정리 닫힌 구간 [a, b]에서 함수 f(x)가 연속이면 f(x)는 이 구간에서 반드시 최댓값, 최솟값을 가짐 중간값 정리 닫힌 구간 [a, b]에서 함수 f(x)가 연속 + f(a) < f(b)이면 f(a) < k < f(b)를 만족하는 임의의 값 k에 대해 f(..

[함수의 극한] 함수 극한의 정의 함수 f(x)에서 x가 a와 다른 값을 취하면서 한없이 일정한 값 a에 가까워질 때, f(x)의 값이 일정한 값 b에 가까워지는 것 "x가 a로 한없이 가까워질 때 함수 f(x)의 극한값은 b이다." "x가 a에 수렴할 때, f(x)는 b에 수렴한다." 함수 극한의 일반적 정의 y = f(x)에서 x가 a와 다른 값을 취하면서 a에 한없이 가까워질 때, f(x)가 b로 한없이 가까이 가는 상태 함수 극한의 정의 - 임의의 양수 ε에 대하여, 조건 '0 < |x - a| < σ인 모든 x에 대하여 f(x)가 정의되어 있고 |f(x) - b| < ε'를 만족하는 양숫값 σ가 존재하면, lim(x→a) f(x) = b, 여기서 b는 함수 f(x)의 극한값 수열의 극한 vs 함..

[급수의 수렴, 발산 판정법] 수열 {an}의 무한급수 수렴, an → 0으로 수렴 수열 {an}이 0으로 수렴하지 않는다면, 수열 {an}은 발산 → 급수의 발산 판정 가능 But, an → 0이어도 무한급수 {ak}가 수렴하지는 않음 양향급수 모든 항이 0 이상인 수열 {an} → 양항수열 양항수열의 무한급수 → 양향급수 양항급수의 수렴 부분합 수열이 유계일 때 양향급수 수렴(필요충분조건) 비교판정법 적분판정법 함수 f가 (0, ∞)에서 정의 + f >= 0 + 단조감소일 때, an = f(n)인 수열 {an}의 무한급수가 수렴할 필요충분조건 특이적분 ∫(1, ∞) f(x) dx가 수렴하는 것 p-급수 판정법 비율판정법 교대급수 임의의 k에 대하여 ak * ak+1 < 0을 만족하는 수열 {an} →..

[급수] 무한급수(infinite series) 무한수열 {an}의 모든 항을 제1항부터 차례로 합한 식 무한급수 == 급수 결합법칙 X, 교환법칙 X Sn 부분합을 n에 관한 함수로 보면 부분합으로 이루어진 수열 {Sn}을 생각할 수 있음 이 수열 {Sn}이 어떤 값 S에 수렴하면 급수는 수렴, S는 급수의 합 {Sn}이 발산하면 급수는 발산, 급수의 합은 X 무한급수의 수렴과 일반항의 수렴 수열 {an}의 무한급수 수렴 == an → 0 무한등비급수 일반항이 an = a * r^(n-1)인 무한등비수열 → 급수의 수렴과 발산 판단 O r != 1일 때 급수 → S = a + ar + ar^2 + ar^3 + ... + ar^(n-1) + ... 부분합 → Sn = a * (1 - r^n) / (1 -..