302. 클린코드 작성 원칙가독성이해하기 쉬운 용어 사용코드 작성 시 들여쓰기 기능 사용단순성한번에 한 가지 처리만 수행클래스, 메소드, 함수를 최소 단위로 분리의존성영향도를 최소화코드의 변경이 다른 부분에 영향이 없게 작성중복성중복된 코드 제거공통된 코드 사용추상클래스, 메소드, 함수에 대해 동일한 수준의 추상화를 함상세 내용은 하위 클래스, 메소드, 함수에서 구현303. McCabe의 cyclomatic회전복잡도, 순환복잡도프로그램의 복잡도를 나타내는데 사용되는 척도프로그램에 분기(반복문, 조건문)가 많다면 Node에 비해 Edge(선)이 많아지고, 이에 따라 프로그램이 얼마나 복잡한지를 판단할 수 있는 방법회전 복잡도 계산방법방법 1Edge수 - Node수 + 2PP는 단일 프로그램일 때 항상 1방..
251. 무방향 그래프의 특징정점과 정점을 연결하는 간선에 방향성이 없는 그래프최대 edge 수 : 정점(V)이 n개 있다면, 최대 간선 E = n (n-1)/2254. 중위 표기법 -> 후위 표기법 변환첫번째 계산 방법연산 순서가 빠른 순으로 연산자를 그 연산을 수행하는 변수 뒤로 옮김두번째 계산 방법연산 우선순위에 따라 모든 연산에 괄호를 친 후 (괄호의 수 = 연산자의 수), 연산 우선순위의 순서로 연산자와 연산자 우측의 가장 가까운 닫힘 괄호를 교체하면서 괄호를 지워나감255. 중위 표기법 -> 전위 표기법 변환첫번째 계산 방법연산 순서가 빠른 순으로 연산자를 그 연산을 수행하는 변수 뒤로 옮김두번째 계산 방법연산 우선순위에 따라 모두 괄호를 쳐 넣고, 연산 우선순위의 순서로 연산자와 연산자 좌측..
204. 객체지향의 특성캡슐화 Encapsulation정보은닉 Information Hiding상속 Inheritance추상화 Abstraction다형성 Polymorphism205. 캡슐화Encapsulation속성과 기능을 하나로 결합하여 객체로 구성클래스 내부의 동작을 모르더라도 클래스가 제공하는 메서드를 사용해 클래스의 기능을 사용캡슐화를 통해 정보 은닉 Information Hiding이 가능208. 추상화Abstraction실체에서 공통되는 속성이나 관심 있는 부분만 추출하여 모델링 하는 개념공통 성질을 추출하여 슈퍼클래스로 설정210. 다형성Polymorphism동일한 이름의 오퍼레이션(메소드)이 각 클래스마다 다른 사양으로 정의될 수 있다는 것메시지에 의해 객체가 연산을 수행하게 될 때 하..
153. 객체지향 설계 기법객체지향 용어추상화 Abstraction공통 성질을 추출하여 슈퍼클래스로 구성객체중심의 안정된 모델을 구축현실 세계를 자연스럽게 표현분석의 초점이 명확해짐다형성 Polymorphism동일한 이름의 여러 오퍼레이션(메서드)을 다른 사양으로 정의 가능오버로딩 : 매개변수의 수 또는 타입을 달리하여 구분오버라이딩 : 부모 클래스의 메서드를 재정의구분오버라이딩오버로딩개념상속관계에서 상위 클래스의 메소드를 하위 클래스 재정의하나의 클래스 내에서 같은 이름으로 여러 개의 메소드를 정의(다중정의)메소드명상속관계 내 동일특정클래스 내 동일매개변수 개수, 타입반드시 동일개수 또는 타입이 다름리턴 타입기본적으로 동일상관없음클래스 다이어그램Fox 클래스는 Animal의 클래스를 상속받아, Bark..
102. SW 아키텍처 4+1 View : 고객 요구사항을 중심으로 4가지 관점으로 소프트웨어 아키텍처를 설계하는 기법사용사례관점 Use Case View : 시스템의 외부 사용자 관점에서 사용 사례들 간의 관계를 정의논리관점 Logical View : 상위 수준에서 시스템의 논리적인 구조/행위를 클래스 인터페이스, 협력관계로 정의구현관점 Implementation View : 독립적으로 실행되는 컴포넌트와 이들 간 관계를 정의프로세스관점 Process View : 시스템의 병렬처리 및 동기화 처리를 위한 스레드와 프로세스를 정의배치관점 Deployment view : 실행되는 시스템 하드웨어와 소프트웨어 관계를 정의103. SW 아키텍처 4+1 View : 고객 요구사항을 중심으로 4가지 관점으로 소프..
51. 객체지향기법의 접근 제한자JAVA 접근 제한자(접근 지정자)private : 클래스를 선언하고, 그 클래스를 구성하는 객체에 대해 외부에서는 사용이 불가, 해당 클래스에서만 접근이 가능public : 클래스를 선언하고, 그 클래스를 구성하는 객체에 대해 외부에서는 사용이 가능protected : 클래스를 선언하고, 그 클래스를 구성하는 객체에 대해 동일 패키지 내에서만 접근이 가능접근 제한자 사용 효과 JAVA : 정보은닉을 위해 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통해 접근하도록 함캡슐화된 클래스를 선언 시, 그 클래스를 구성하는 속성, 메소드에 대하여 private, public, protected 접근 제한자를 선언하여 정보 은닉을 실현이를 통해 유지보수와 소프트웨어 확장 시..