목록분류 전체보기 (151)
ultra_dev
RDB:관계형 데이터베이스사전에 엄격하게 정의된 DB schema를 요구하는 table 기반 데이터를 구조 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터 베이스SQL을 써서 조작 즉, 모든 데이터를 2차원 테이블 형태로 표현 장점 스키마에 맞춰 데이터를 관리하기 때문에 데이터의 정합성을 보장할 수 있다.단점시스템이 커질 수록 쿼리가 복잡해지고 성능이 저하되며 Scale-out이 어렵다(Scale-up만 가능)ex) MySQL, PostgreSQL, 오라클 NoSQL:비관계형 데이터베이스table 형식이 아닌 비정형 데이터를 저장할 수 있도록 지원SQL을 사용하지 않으며 MongoDB, redis가 대표적 RDBMS와 반대로 데이터간의 관계를 정의하지 않고, 스키마가 없어 좀 더 자유롭게 데이..
OverLoading 한 클래스 내에서 동일한 이름의 메서드를 여러개 갖는 것 메서드의 이름은 같지만 매개변수의 갯수 or 순서 or 타입이 달라야함 리턴타입만 다른 경우 오버로딩이 아니다. 사용이유 1. 같은 기능을 하는 메소드를 하나의 이름으로 사용할 수 있다.2. 메소드의 이름을 절약할 수 있다.(프로그래머의 입장에서 메소드 네이밍에 관한 고민은 큰 스트레스다) OverRiding 상속받은 부모 클래스의 메소드를 재정의하여 사용하는 것 메소드의 동작만을 재정의하는 것이므로, 메소드의 선언부는 기존 메소드와 완전히 같아야 한다.즉, 오버라이딩하고자 하는 메소드의 이름, 매개변수, 리턴 타입이 모두 같아야 한다오직 내용만을 새로 정의한다. 메소드 return 타입의 변환시 부모 클래스 ret..
복잡도 알고리즘(어떤 작업을 수행하기 위해 입력을 받아 원하는 출력을 만들어 내는 과정)의 성능을 판단하는 개념 시간 복잡도 알고리즘을 수행하는 데 걸리는 시간 시간 복잡도는 정확한 프로그램이 실행 시간을 초단위로 표기하는 것이 아니라, 명령문의 실행 빈도수에 따라 대략적으로 소요 시간을 나타내기 위해 사용 시간 복잡도를 줄이는 방법 반복문의 숫자를 줄이기 조건문 줄이기, n * 조건문 숫자 만큼 되니까 자료구조를 적절하게 이용하기, 가장 효율적인 자료구조들을 적절히 사용한다면 시간 복잡도를 최대한 줄일 수 있음 알고리즘을 적절하게 이용하는기, 대표적으로 이진 탐색, 정렬 알고리즘 등이 있음 Big-O 표기법 복잡도 관련 표기법 복잡도 함수의 최고차항의 차수에 O를 씌운 표기법으로 이 알고리즘이 가장 늦..
Stack데이터를 차곡차곡 쌓아 올린 자료구조 데이터가 순서대로 쌓이고 마지막에 쌓인 자료가 먼저 삭제되는 구조로 LIFO(Last In First Out), 후입선출 구조 스택에서 삽입 연산은 push(), 삭제 연산은 pop()시간 복잡도는 삽입, 삭제는 O(1)이고 탐색은 O(N) 대표적인 예로 실행 취소(undo), 웹페이지의 뒤로 가기, 역순 문자열 만들기, 수식의 괄호 검사 등이 있다. QueueStack과 다르게 먼저 들어온 것이 먼저 나가는 선입선출 구조를 가지고 있음, FIFO(First In First Out) 큐에서 삽입 연산은 offer(), 삭제 연산은 pull()시간 복잡도는 스택과 동일하다. LinkedList를 가지고 만드는 것이 유리하며 자료의 추가는 Enqueue, 삭제..