본문 바로가기

IT

(17)
[프로그래밍] DB ERD, DDL/DML/DCL/TCL, 자료형 DB Data Base는 잘 관리되는 데이터들을 말한다. persistance data는 컴퓨터를 끄더라도 지워지지 않는 영속적인 데이터를 말하는데 file system이 그러하다. 초급 자바는 io package를 이용해 persistance data를 file system으로 관리할 수 있었다. 그러나 데이터를 활용하려면 읽어들이고 parsing하고 equals 비교하는 등 여러 작업을 거쳐야 했다. DataBase를 이용하면 이러한 문제가 줄어든다. 자바에서 데이터베이스에 접속할 수 있도록 JDBC(Java Database Connectivity) 자바 API를 제공한다. JDBC는 java.sql 패키지를 말하는데 SQL은 DB 교수가 논문으로 제안한 DB관리법을 미국 표준 ANSE로 스펙화 한 ..
[프로그래밍] event, synchronized, IO Block pool Run - CPU만나는상태 자바 스레드 언어차원에서 지원 전산에서는 어떤 동작을 하는 순간을 event이벤트라 한다. 홈페이지에서 ID, PW를 입력하고 로그인 버튼을 누르는 순간을 로그인 이벤트 발생이라 하고, 바탕화면에서 브라우저 아이콘을 더블클릭하는 순간을 이벤트 발생이라 하고, 메서드를 벗어나는 순간을 메서드 벗어나는 이벤트가 발생했다고 한다. Thread를 사용하는 이유는 OS차원에서 process 하나로 자원을 공유한다는 장점, Data를 쉽게 공유할 수 있다는 장점 때문이다. 그러나 공유할 때 동기화 문제가 발생하기도 한다. 동기화 문제는 한 번에 하나의 스레드를 처리하는 게 아니라 여러 스레드가 동시다발적으로 처리되기 때문에 발생하는 문제이다. 하나의 data file을 여러 사람이 동시에..
[프로그래밍] Data Source/Data Target, BufferedReader, Thread for ctrl+space => 자동으로 for문 만들어줌. 삼항연산자 : 편한데 가독성 떨어짐 generate equals 있음. 예외 생성자에 String 받는거 생성하면 그 메세지 가져오는 메서드 ===================================== is a 관계인지 파악하는 키워드. true/false로 나온다. 외부에서 JVM으로 들여오고 내보낼 때 사용하는 Bean들을 모아놓은 패키지로 interface 기반 모델링이 되어 있다. InputStream, OutputStream이 계열 최상위 abstract class이다. 외부에서 JVM으로 읽어들일 때 keyboard를 읽거나 file을 읽거나 network를 읽기도 한다. 이렇게 구체적으로 입력되는 것을 이야기하지 않고, Da..
[프로그래밍] AWT, Deprecated, Concrete, process, 입출력 Stream, 절차 은닉 java.awt 패키지는 자바에서 지원하는 Graphic user interface 클래스들이다. 그러나 자바는 C에 비해 느리기 때문에 사용자 용이 아니라 서버 용이고, windows gui에 비해 뒤떨어지기 때문에 현업에서 잘 사용하지 않는다. 계열 최상위 클래스는 Component 클래스이다. 추상메서드 없이 클래스가 abstract로 선언된 걸 보니 공유 목적으로 만든 클래스임을 알 수 있다. java.util.Calandar를 보면 인스턴스 생성을 못하도록 abstract 선언을 해 두었다. 특정 시간으로 인스턴스를 생성하면 시간이 지났을 때 과거가 되기 때문이다. 그러나 calandar는 현재 시간을 확인하기 위한 목적이므로 알맞지 않게 된다. 그러나 Date 클래스를 보면 인스턴스 생성이 가..
[프로그래밍] UML, Exception, try-catch, throw, Inner Member / Local / Anonymous Class private static은 나만 쓸 수 있는 static이다. private이 붙으면 static이라도 외부에서 클래스이름으로 접근할 수 없다. +는 public을, #는 protected(상속과 같은 패키지), -는 private를 의미한다. 필드는 변수명 : 데이터타입 으로 적는다. 문제영역을 도메인이라고도 한다. (domain 도메인의 사전적 의미는 시간 혹은 공간적 영역을 의미한다.) 상태값을 변경하지 않는 메서드의 경우 static을 붙인다. 상태값 설정(초기화)을 인스턴스 생성 시 하는 것과 set 메서드 사용 시 하는 방법 모두 사용할 수 있는데, instance 생성 시 상태값을 알고 있을 때에는 생성자에 상태값을 넣어 initialize 하는 것이 편하고, 상태값은 현재 모르지만 인스턴..
[프로그래밍] Enhanced for Loop, Generic, Wrapper class, AutoBoxing and AutoUnBoxing, Collection ★★주의★★) [private 필드, 공유, this] 상위 클래스의 private 필드는 하위 클래스에서 오버라이딩 하지 않았더라도 this.변수명 으로 접근할 수 없다. 하위 생성자에서 상위 생성자로 입력값을 넘기지 않고 초기화하고 싶을 땐 this.setName(name); this.setAge(age); 처럼 setter 메서드에는 접근 가능하다. overriding은 메서드 재정의 뿐 아니라 상위 메서드에 추가하는 것도 가능하다. 하위 클래스에서 overriding한 메서드 실행의 첫 줄에서 super.메서드명();으로 상위 메서드를 호출할 수 있다. 이는 상위 메서드를 호출하고 자신도 실행하므로 추가하는 overriding이다. primitive data type은 call by value로 ..
[프로그래밍] 개념정리 - 용어 및 클래스 관계 인코딩encoding: 규칙에 맞게 부호화하다. 암호에서는 규칙에 맞게 변환시키는 것을 의미함 디코딩decoding: 인코딩 된 것을 되돌리다(복호화하다) 미국정보교환표준부호(영어: American Standard Code for Information Interchange), 또는 줄여서 ASCII(아스키) 키보드에 있는 자판 영문 알파벳, 특수문자 등을 숫자로 인식하는 코드 저장된 데이터를 저장 구조가 비슷한 다른 형식의 원하는 데이터형으로 변환하는 것. 형변환과는 다르다. csv까지 자른다는 표현과 같다. char는 문자 데이터 타입이지만 필요에 따라 아스키코드 정수로 파악되기도 한다. 따라서 캐릭터와 정수의 연산이 가능하며 정수와 정수의 연산은 int 타입으로 묵시적 형변환이 일어나기 때문에 캐릭터..
[프로그래밍] Modifier-static/ final, Access Modifier와 Modifier의 사용법, reference data type 형변환 API를 확인할 때에는 클래스의 계층 구조(hiarachy)를 먼저 보고 is a 관계를 파악한다. 그리고 class signiture와 모델링 설명을 본다. 메서드를 확인할 때에는 인스턴스 메서드인지 스태틱 메서드인지 확인한다. java를 이용해 .class파일을 실행할 때 전달받는인자를 명령행 매개변수(command line argument)라고도 한다. 아스키코드에서는 문자 a가 정수값 97을 갖는다. 문자를 숫자로 인식할 수 있다. 암호화 하는 과정을 인코딩, 암호화 해독은 디코딩이라 한다. 메서드 실행문은 메서드 바디라 한다. class나 field, method의 시그니처에 붙는 키워드에는 Access Modifier public, protected, default(friendly), priv..