본문 바로가기

Java

(4)
불편해서 직접만든 CapsLock 표시 기존에 사용하던 키보드에 command 키가 망가져 새로운 키보드가 필요했다. 키보드를 가방에 넣고 집, 학교, 카페 등으로 이동한게 문제인거 같았다.. 친구의 추천으로 쿠팡에서 3만원대 가성비 좋은 블루투스 키보드를 구입했다. 작고 디자인도 마음에 들었지만 capslock 표시가 없는게 나에게 큰 단점이었다. 그게 뭐가 불편하냐고 할 수 있겠지만 난 사이트 로그인시에 capslock 표시가 안되면 비밀번호를 정말 많이 틀린다.. 그러던중 대학교 수업시간에 배운 AWT 강의가 떠올랐다. 강의를 듣던 당시에는 이걸 대체 어디에 써먹을 수 있을지 의문이었는데 잘만 활용하면 capslock을 화면에 표시할 수 있을거 같았다. 곧바로 난 자바 프로젝트를 하나 만들었고 강의 내용을 떠올리며 개발을 시작했고 결과물..
쓰레드 프로세스와 쓰레드(Process & Thread) - 프로세스 : 실행 중인 프로그램, 자원(Resource)과 쓰레드로 구성 ( 자원 : CPU, MEMORY) - 쓰레드 : 프로세스 내에서 실제 작업을 수행 모든 프로세스는 최소한 하나의 쓰레드를 가지고 있음 - 멀티 태스킹(멀티 프로세싱) : 동시에 여러 프로세스를 실행시키는 것 - 멀티 쓰레딩 : 하나의 프로세스 내에 동시에 여러 쓰레드를 실행시키는 것 -> 프로세스를 실행하는 것보다 쓰레드를 생성하는 비용이 적음 -> 같은 프로세스 내의 쓰레드들은 서로 자원을 공유 멀티쓰레드의 장단점 - 대부분의 프로그램이 멀티쓰레드로 작성되어 있음 장점 - 시스템 자원을 보다 효율적으로 사용할 수 있다. - 사용자에 대한 응답성이 향상된다. - 작업이 분리되어..
Java기초 예외처리 프로그램 오류의 종류 - 컴파일 에러 : 컴파일할 때 발생하는 에러 - 런타임 에러 : 실행할 때 발생하는 에러 - 논리적 에러 : 사용자의 작성 의도와는 다른 동작 수행 Java의 런타임 에러 - 에러(Error)와 예외(Exception) - 에러(Error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 - 예외(Exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 예외처리의 정의와 목적 - 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성 - 목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것 예외 클래스의 계층구조 - RuntimeException 클래스들 : 프로그래머의 실수로 발생하는 에러 - Exceptio..
제네릭스 제네릭스(Generics) - 컴파일시 타입을 체크해 주는 기능(compile-time type check) - JDK1.5 - 객체의 타입 안정성을 높이고 형변환의 번거러움을 줄여줌 (하나의 컬렉션에는 대부분 한 종류의 객체만 저장) 제네릭스 클래스의 선언 - 클래스를 작성할 때, Object타입 대신 타입 변수 E를 선언해서 사용 public class ArrayList extends AbstractList { transient Object[] elementData; public boolean add(Object o) { /* 구현 생략 */ } publcc Object get(int index) { /* 구현 생략 */ } } public class ArrayList extends AbstractL..