
✏️ 이벤트 기반 프로그래밍이벤트 기반 프로그래밍은 이벤트의 발생에 의해 프로그램 샐행 흐름이 결정되는 방식의 프로그래밍 패러다임이다. 이벤트는 키 입력, 마우스 클릭, 마우스 드래그 등 사용자의 액션이나, 센서 등 외부 장치로부터의 입력, 네트워크를 통한 데이터 수신, 다른 스레드나 프로그램으로부터 메시지 수신 등에 의해 발생한다. 아래 그림을 통해 이벤트 발생 사례를 살펴보자.사용자가 마우스로 화면의 New 버튼을 클릭한다.버튼 클릭은 운영체제의 마우스 드라이버를 거쳐 자바 가상 기계에 전달한다.자바 가상 기계는 이벤트 분배 스레드에게 마우스 클릭에 관한 정보를 보낸다.이벤트 분배 스레드는 이벤트(ActionEvent) 객체를 생성한다. 이벤트 객체는 이벤트에 관한 여러 정보를 담은 객체이고, 이벤트..

✏️ GUI 응용프로그램GUI란 Graphical User Interface의 약자로 이미지 혹은 그래픽을 이용하여 메뉴 등을 포함하는 화면을 구성하고, 키보드 외 마우스 등의 편리한 입력 도구를 이용하여 사용자가 입력하기 편하도록 만들어진 사용자 인터페이스이다. 자바는 AWT와 Swing 패키지 등 강력한 GUI 라이브러리를 제공한다. ✏️ AWT와 Swing 패키지자바 언어는 GUI 응용프로그램을 쉽게 작성할 수 있도록 다양한 GUI 컴포넌트(GUI Component)를 제공한다. 자바의 GUI 컴포넌트는 AWT 컴포넌트와 Swing 컴포넌트로 구분되며, 각각 java.awt 패키지와 java.swing 패키지를 통해 공급된다. AWTAWT(Abstract Windowing Toolkit)는 자바가..

✏️ 스트림 입출력입출력 스트림이란 응용프로그램과 입출력 장치를 연결하는 소프트웨어 모듈을 뜻한다. 입력 스트림은 키보드 장치를 제어하여 사용자의 키 입력을 받아 응용프로그램에게 전달하고, 응용프로그램은 출력 스트림에 연결하고 출력 스트림에 출력하면, 출력 스트림은 다른 끝단에 연결된 출력 장치를 제어하여 출력을 완성한다. 입출력 스트림의 특징은 다음과 같다.스트림의 양끝에는 입출력 장치와 자바 응용프로그램이 연결된다.스트림은 단방향이다.스트림을 통해 흘러가는 기본 단위는 바이트나 문자이다.스트림은 선입선출, 즉 FIFO 구조이다. ✏️ 바이트 스트림과 문자 스트림 자바에서 입출력 스트림은 문자 스트림(character stream)과 바이트 스트림(byte stream)의 2종류가 있다. 문자 스트림은..

✏️ 컬렉션컬렉션(Collection)은 안드로이드를 비롯한 자바 프로그램을 작성하는데 뺴놓을 수 없는 중요한 도구이다. 자바의 JDK는 소위 자료 구조 과목에서 배운 많은 자료 구조들을 컬렉션으로 만들어 제공하고 컬렉션은 제네릭이라는 기법으로 구현되어 있기 때문에 제네릭에 대한 공부도 필요하다. 컬렉션은 배열이 가진 고정 크기의 단점을 극복하기 위해 객체들을 쉽게 삽입, 삭제, 검색할 수 있는 가변 크기의 컨테이너(container)이다.컬렉션은 제네렉(generics)이라는 기법으로 만들어져 있다. 컬렉션 클래스의 이름에는 , , 등이 항상 포함된다. 이들은 타입 매개 변수라고 하는데, 특정 타입만 다루지 않고 여러 종류의 타입으로 변신할 수 있도록, 컬렉션을 일반화시키기 위해 >를 사용한다. 따라..
- Total
- Today
- Yesterday
- 스택
- 알고리즘 공부
- C++
- 자바스크립트
- html
- DP
- 스프링 부트 crud 게시판 구현
- 유니온 파인드
- 투 포인터
- 자료구조
- 이분 매칭
- 자바
- 백준
- 에라토스테네스의 체
- 카운팅 정렬
- 유클리드 호제법
- 세그먼트 트리
- CSS
- 반복문
- 알고리즘
- C++ Stack
- js
- HTML5
- Do it!
- DFS
- 우선순위 큐
- BFS
- c++ string
- 백준 풀이
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |