반응형 IT17 OOP, 객체 지향 프로그래밍(Object-Oriented Programming) * 객체 지향 프로그래밍이란 프로그램을 객체 단위로 작성하는 방법이다. 프로그램은 객체들로 구성되고 객체들은 속성과 기능을 가지고 있다. 객체 지향 기법들의 특징 --------------------------- * 캡슐화(encapsulation) - 관련된 데이터와 알고리즘(코드)이 하나의 묶음으로 정리되어 있어야 한다. 데이터와 알고리즘을 캡슐에 넣어서 포장한다는 것을 의미한다. 객체 지향에서는 이 캡슐을 클래스라고 부른다. 캡슐화는 데이터를 감추고 외부와의 상호작용은 메소드를 통하는 방법이며, 내부의 데이터를 캡슐로 보호하는 역할 을 한다.(정보 은닉-information hiding) * 상속(inheritance) - 기존의 코드를 재활용하기 위한 기법으로 이미 작성된 클래스를 받아 새로운 클.. 2019. 1. 8. 자바에서 sql 쓸수있는 종류와 장단점 a.관계형데이터베이스(SQL) 장점 : 다양한 용도로 사용이 가능하고, 일반적으로 높은 성능을 보여주고 있다.(범용적/고성능) 데이터의 일관성을 보증한다. 정규화에 따른 갱신 비용 최소화 단점 : 대량의 데이터 입력 처리, 컬럼 확장의 어려움, 단순히 빠른 결과 갱신이 발생한 테이블의 인덱스 생성 및 스키마 변경 *** b.NoSQL 데이터베이스(Not-Only SQL) 관계형DB보다 덜 제한적인 일관성 모델을 이용한다. Key,Value형태로 저장되고 키를 사용해 데이터 관리 및 접근을 한다. 장점: 대용량 데이터, 데이터 분산 처리, Cloud Computing 빠른 읽기/ 쓰기 속도 , 유연한 테이터 모델링 단점: 데이터 일관성이 항상 보장되지 않는다, 다양하고 복잡한 데이터 쿼리는 불가능하다. 2018. 12. 17. 디자인 패턴 a.스트래티지 패턴(Strategy Pattern) - 알고리즘군을 정의하고 각각을 캐슐화하여 교환해서 사용할 수 있도록 만든다. - 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. - 구성을 사용한다. - 일반적으로 서브클래스를 만드는 방법을 대신하여 유연성을 극대화하기 위한 용도로 쓰인다. - 예: QuarkBehavior & FlyBehavior *** b.옵저버 패턴(Observer Pattern) - 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(one-to-many) 의존성을 정의한다. - 주제(Subject) & 옵저버(Observer) - Observable & Observer: Observable.. 2018. 12. 17. 빅오 빅세타 빅오메가, 시간복잡도, 공간복잡도에 대해 정리 1.빅오 big-O ------ 알고리즘의 성능 및 복잡도를 표현하기 위하여 사용하는 지표 알고리즘의 실행 시간 또는 사용 메모리 공간을 표현 정확한 값이 아닌 어림 값으로, 알고리즘의 대략적인 평가만 가능 a.상한점근, 최악의 경우 표기법이라 함, 최악의 경우에도 이보단 빠르다는것 최악의 경우라는 것은 모든 경우라고 할 수 있기 때문에 신뢰도가 높아 가장 일반적으로 사용되는 표기법이다. b.표기법 - 모든 n, n=> n0에 대해 f(n) f0=0, f1=1 일반항 fn은 fn-1 + fn-2 (단,n=>2)이 된다. \`피보나치 수열 알고리즘 if(n 2018. 12. 17. 이전 1 2 3 4 5 다음 반응형