전체 글 213

기본 개념

DBMS (DataBase Management System) 1. 계층형 - tree (부모1, 자식) 2. 네트워크형 - tree (부모(n), 자식) 3. 관계형 - rdbms - table 키 값 relationship 4. nosqul - 관계형 빅데이터 실시간 릴레이션 = 테이블 표 릴레이션 인스턴스 rows(행들), 튜플들의 모임 행에 들어가는 데이터 값 전체를 가리킴 속성(열)의 데이터 타입에 맞춰 들어가야함 튜플 = row 릴레이션을 구성하는 각각의 행 *카디널리티 = 대응수 - 갯수 릴레이션 스키마 colums(열들), 속성들의 모임 속성들 전체를 가리킴 속성 스키마를 구성하는 각각의 열(column) 도메인 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값들의 집합 @성별 - 남, 여..

DB/MySQL 2021.03.04

오류, Exception

try catch문 try 안에서 exception이 발견되면 catch문으로 가서 exception에 대한 대응 코드를 찾는다 AristmaticException(데이터타입) a(참조변수) -> exception 개체와 데이터타입을 확인하고 일치하면 참조변수에 exception의 메모리 주소를 대입한다 이걸 사용하면 exception이 발생한 코드는 실행되지 않지만 그 다음부터 실행이 되어 프로그램 비상 종료를 막는다 자바에서 오류는 크게 컴파일 에러, 런타임 에러, 논리적 에러로 나눌 수 있다 컴파일 에러는 컴파일 시 생기는 에러인데 요새는 IDE가 많이 발전해서 에러가 생기기전에 알려준다 *이클립스가 하는 일 : 구문(문법) 확인, 번역, 간단한 산술 계산 논리적 오류는 실행은 되는데 의도와 다르게..

Java/자바 2021.02.15

버블 정렬

버블정렬? 버블정렬은 앞 뒤 값을 비교해 더 큰 숫자를 뒤로 보냄으로서 작은 것부터 큰 것 순서대로 정렬하는 알고리즘이다 int[] list = new int[] {2, 4, 5, 1, 3} 이런 배열이 있다고 생각해보자 2와 4는 다음 수 보다 작기 때문에 움직이지 않는다 5는 1과 3보다 크기 때문에 서로 자리를 옮긴다 {2, 4, 1, 5, 3} -> {2, 4, 1, 3, 5} 버블 정렬은 결국 한바퀴 돌 때 마다 회차별로 가장 큰 수를 맨 뒤로 보내는 것이기 때문에 2회차에는 5까지 비교하지 않고 3까지 비교한다 이를 반복하면 결과는 {1, 2, 3, 4, 5}가 나온다

Java/자바 2021.02.14

자료구조 vs 알고리즘

자료구조는 말 그대로 데이터를 관리하는 구조를 말한다 도서관을 예로 들면 책을 책장에 어떤 방식으로 정리를 할 지 결정하는 것이다 abc... 알파벳 순으로 정리할 수도 있고 장르별로 할 수도 있다 알고리즘은 그렇게 정리 되어 있는 책장에서 원하는 책을 어떻게 찾을 것인가에 대한 방법이다 같은 작가가 쓴 작품들만 찾기, 2010년에 쓰여진 소설 찾기 등등 둘은 다른듯 하지만 결국 연관되어 있다 프로그램은 자료구조와 알고리즘이 같이 있어야 완성된다 즉 자료구조는 방대한 데이터를 어떻게 저장할 것인가에 대한 방법이고 알고리즘은 그 데이터들을 어떻게 사용하고 처리할 것인가에 대한 방법이다

Programming/개념 2021.02.13

정적 바인딩 vs 동적 바인딩

부모 클래스의 메소드와 자식 클래스의 오버라이드 메소드가 있을 때 정적 바인딩은 컴파일러가 형식에 따라 무엇을 호출할 지 결정이 되서 바뀌지 않는다 동적 바인딩은 호출할 주소는 비워져있고 객체에서 데이터를 전달 받을 때 결정된다 자바의 객체들은 각각 자신의 메소드 주소를 관리하는 메모리가 추가적으로 4바이트 있어서 이곳에서 유동적으로 뭐가 호출될지 결정하게 된다 즉 원 메소드가 오버라이드 되는 순간 오버라이드 메소드가 전달되기로 결정된다 youtu.be/jlA2aYDktiQ

Java/자바 2021.02.11