[자바] GUI
·
Archive/Java
1. Java GUI(Graphic User Interface)란? 컴퓨터 바탕화면에 각종 애플리케이션을 가리키는 바로가기 아이콘들이 있다. 이런 아이콘들은 사용자가 더블클릭을 하면 해당 프로그램을 시작시켜주는 기능을 한다. Java GUI(Graphic User Interface)란 이런 아이콘처럼 사용자가 사용하기 편리하게 그래픽 요소를 가미하여 컴퓨터를 사용하기 쉽게 만들어 놓은 것이다. 반대의 개념으로 CUI(Character User Interface)가 있다. (ex. cmd창) 2. AWT 컴포넌트? AWT는 JAVA에서 그래픽 요소를 만들기 위한 컴포넌트들. 예를 들어 버튼, 체크박스 등. (1) 컴포넌트의 배치와 관련된 클래스 : BorderLayout, GridLayout, FlowLa..
[자바] 입출력(Input / Output)
·
Archive/Java
1. 입출력(I/O)이란? 입력(Input)과 출력(Output)을 뜻한다. 컴퓨터에 입력하는 것은 Input이며, 컴퓨터가 어떤 것을 출력하는 것은 Output이다. 앞에서 살펴본 System.out.println("Hello, World!"); 구문이 바로 Output이다. (1) Input : 파일 데이터를 읽는다. 키보드의 데이터를 읽는다. 네트워크상의 데이터를 읽는다(전송). (2) Output : 파일에 데이터를 쓴다. 모니터에 데이터를 쓴다(출력). 네트워크상에 데이터를 쓴다(전송). 2. Java에서의 파일 입출력 API (1) InputStream : 1byte 단위 입력 API. 이미지, 동영상 등의 데이터에 주로 사용. (2) OutputStream : 1byte 단위 출력 API. ..
[자바] Collection
·
Archive/Java
1. Collection 이란? 컬렉션이란 우리말로 쉽게 말해 "자료구조"를 의미한다. 다수의 데이터, 즉 데이터 그룹을 의미하는 것이다. 데이터 군을 저장하기 위해서 우리는 배열을 사용해왔지만, 배열과 비슷한 구조에다가 다수의 데이터를 쉽게 처리할 수 있는 방법(method)을 제공하는 API이다. 무수히 많은 데이터를 어떤 형식으로 잘 정리하느냐에 따라 추후 데이터를 찾아서 사용할 때 업무의 효율성이 높아질 수 있다. 그래서 자바는 다양한 자료구조형을 제공하고 있다. 다양한 자료구조형이 제공되는 이유는 데이터의 성질에 따라서 데이터를 관리(정리)해야 하는 방식이 다르기 때문이다. 자료구조형 안에서는 객체의 레퍼런스 만을 관리한다. 2. List / Set / Map 특징 1) List : 순서가 있는..
[자바] 예외(Exception) 처리
·
Archive/Java
1. 예외(Exception) 란? 문제가 없을 것 같은 프로그램도 외부환경요인 등에 의해서 문제가 발생하곤 한다. 프로그램에서 문제가 발생될 만한 곳을 예상하여 사전에 "문제가 발생하면 이렇게 해라"라고 프로그래밍 하는 것을 예외처리라고 한다. [에러] 1) 문법에러 : 문법적으로 나타나는 에러 2) 실행에러(실행 시 에러) (a) 논리에러 : 프로그래머가 잘못 작성해서 이상한 결과가 나오는 경우 (b) 시스템에러 : 프로그래머의 의지와 상관없이 나타나는 에러 (c) 예외사항 : 정상적으로 프로그램이 동작하는 과정에서 나타나는 에러. 프로그램 실행 중에 발생하는 예기치 않은 사건. ex. 정수를 0으로 나누는 경우, 배열 인덱스를 벗어난 경우, 부적절한 형변환이 일어나는 경우, 입출력을 위한 파일이 없..
[자바] API(Application Programming Interface)
·
Archive/Java
1. JDK 라이브러리(자바 표준 라이브러리) 지금까지 무심코 사용해왔던 String 클래스와 System 클래스 모두 이 라이브러리에 속한 클래스이다. 이 라이브러리는 JDK 안에 포함되어 있는데, 자바 가상기계가 자바 프로그램을 실행할 때 이 라이브러리의 클래스와 인터페이스들을 자동으로 읽어 들이기 때문에 우리가 지금까지 그 존재를 인식하지 않고도 사용할 수 있었던 것이다. * JDK의 위치 C:\Program Files\Java\jdk1.8.0_271\jre\lib\rt.jar 혹은 C:\Program Files\Java\jre1.8.0_271\lib\rt.jar JRE System Library밑의 rt.jar밑의 java.lang밑의 System.class와 String.class를 확인한다. ..
[자바] 패턴을 통한 객체지향 언어의 이해
·
Archive/Java
1. 패턴(디자인 패턴)이란? 객체지향 언어의 장점을 모아 가장 효율적으로 개발을 할 수 있게, 유지보수를 효율적으로 할 수 있게 만들어놓은 프레임을 말한다. 2. 싱글톤 패턴(Singleton Pattern)이란? 싱글톤이란 어떤 클래스가 최초 한번만 메모리를 할당하고(static) 그 메모리에 객체를 만들어 사용하는 디자인 패턴을 의미한다. 싱글턴 패턴을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고, 이 객체에 접근할 수 있는 전역적인 접촉점을 제공하는 패턴이다. # 싱글톤 예제 public class SingletonClass { private static SingletonClass SINGLETON_INSTANCE; private int i; private S..
[자바] 인터페이스 interface
·
Archive/Java
1. 인터페이스란? (1) 작업명세서(작업지시서)처럼 "앞으로 이렇게 만드시오"라고 표현해 놓은 것을 말한다. - 실제 구현된 것이 전혀 없는 기본 설계도 - 객체를 생성할 수 없고, 클래스 작성에 도움을 줄 목적으로 사용 - 미리 정해진 규칙에 맞게 구현하도록 표준을 제시하는 데 사용 - 추상메소드와 상수 만을 멤버로 가질 수 있다. (2) 다형성을 가능하게 한다. (하나의 객체를 다양하게 많은 타입으로 만들 수 있다.) (3) 객체를 부속품화 한다. (다양한 객체를 제품의 부속품처럼 개발자 마음대로 변경할 수 있다.) (4) 사용법은 어렵지 않지만, 실제 개발에 적용시키기는 쉽지 않다. (5) 인터페이스를 공부하는 데 가장 좋은 방법은 패턴이나 프레임워크(ex. Spring)를 통해 습득하는 것이다...
[자바] 추상 클래스 abstract class
·
Archive/Java
1. 추상클래스의 이해 추상적으로 정의해 놓을테니(선언해 놓을테니), 객체를 사용할 사용자가 꼭 재정의(overriding) 하시라! 자바프로그램에서도 부모 클래스에서 자식 클래스에게 메소드를 강제로 재정의(override)하게 할 수 있다. 이러한 방법으로 만들어진 클래스를 '추상 클래스'라고 한다. 2. 추상클래스의 문법 (* 추상메소드에서는 정의만 한다. 구현하지 않는다.) (1) 문법 abstract(추상클래스 및 추상 메소드를 선언하는 예약어)이용 public abstract class ClassName { … } (2) 추상클래스에는 하나 이상의 추상 메소드가 포함된다. 추상 메소드는 정의만 하고 구현은 하지 않는다. (3) 추상 메소드에는 메소드의 선언부만 있고, 실행부(구현부, body)는..