다라다라V
article thumbnail
[JAVA] 15 이벤트 처리
코딩언어/JAVA 2022. 11. 17. 09:52

📌 이벤트 처리 📚 이벤트 기반 프로그래밍 이벤트 발생에 의해 프로그램 흐름이 결정되는 방식의 프로그램 패러다임입니다. 📃 이벤트 윈도우 프로그래밍에서 어떤 특정 행동이 발생한 그 자체를 의미 사용자의 입력 : 마우스/키보드 조작 네트워크로부터 데이터 송수신 다른 응용 프로그램/스레드로부터의 메시지 📃 이벤트 기반 프로그래밍(Event Driven Programming) 이벤트 중심 프로그래밍 어떤 사건에 따라 제어 흐름이 결정되어 동작을 처리 📚 JAVA에서 이벤트 처리 구조 각 이벤트 소스마다 이벤트 리스너와 연결하여 이벤트를 처리합니다. 📃 이벤트 소스(Event Souce) 객체 이벤트를 발생시킨 컴포넌트 객체 사용자로부터 입력을 기다리는 객체 ex) 버튼, 입출력 📃 이벤트 리스너(Event L..

article thumbnail
[JAVA] 14-2 Swing의 기본 구성
코딩언어/JAVA 2022. 11. 9. 00:48

지난 포스트에서 SWING으로 만드는 자바 GUI 방식의 대략적인 개요를 살펴봤습니다. 이번 시간에는 각 컴포넌트들을 윈도우 화면에 띄우는 방법을 배워봅시다. https://daradarav.tistory.com/35 [JAVA] 14-1 Swing의 기본 특징 우리가 여태까지 짜왔던 프로그램은 텍스트로 직접 값을 입출력하고 처리하는 프로그램이었습니다. 그러나 일상에서 우리가 자주 사용하는 윈도우나 iOS은 그래픽 기반의 아이콘, 윈도우, 메뉴 daradarav.tistory.com 📌 기본 프로그램 구성 📚 Swing 프로그램 만들기 📃 프레임 객체 생성 import javax.swing.JFrame; 최상위 컨테이너 윈도우 프레임 화면을 구성하고, 각 화면에서 이벤트 처리를 합니다. 📃 프레임에 스윙..

article thumbnail
[JAVA] 14-1 Swing의 기본 특징
코딩언어/JAVA 2022. 11. 8. 00:07

우리가 여태까지 짜왔던 프로그램은 텍스트로 직접 값을 입출력하고 처리하는 프로그램이었습니다. 그러나 일상에서 우리가 자주 사용하는 윈도우나 iOS은 그래픽 기반의 아이콘, 윈도우, 메뉴들을 눌러 프로그램을 실행시킵니다. 이번 포스트부터는 이렇게 그래픽 기반으로 작동하는 GUI 기반의 프로그래을 작성해봅시다. 📌 GUI 프로그래밍 📚 응용 프로그램 📃 CUI 텍스트(문자열) 기반의 입출력 명령을 키보드를 통해 직접 입력하여 프로그램을 실행하는 환경 새로운 명령을 내리거나 입출력에 어려움이 있음 📃 GUI CUI보다 더 쉽게 프로그램을 수행하도록 함 윈도우, 아이콘, 메뉴와 같은 시각적인 요소들을 통해 프로그램을 구성 마우스나 키보드로 입력 받아 실행 📚 GUI(Graphic User Interface) 프..

article thumbnail
[JAVA] 13. 제네릭과 컬렉션
코딩언어/JAVA 2022. 11. 5. 00:15

자바의 배열은 모두 동적 할당으로 메모리를 저장합니다. 그러나 배열은 처음 할당받은 크기 이상으로 접근할 수 없고, 중간에 요소를 삽입하거나 삭제하기 어렵습니다. 이러한 부가적 처리가 필요할 때 제네릭과 컬렉션을 이용합니다. 다수의 데이터를 한 덩어리로 처리할 때, 제네릭 타입의 컬렉션 클래스를 이용합니다. 일반화된 자료형인 제네릭 타입과 객체 요소들의 저장하는 컬렉션을 배워봅시다. 또한 자바 컬렉션 인터페이스의 예인 List나 Map, Set, Vector 등의 사용예제와 함께 사용법을 알아봅시다. 📌제네릭 📚 제네릭(Generic) 제네릭 타입은 자료형의 일반화 어떤 데이터든 담을 수 있으나 한 번 담으면 해당하는 타입으로만 사용할 수 있음 구체화된 일반 타입은 얼마의 메모리를 할당받는지나 코드화 하..

article thumbnail
[JAVA] 12. 예외처리
코딩언어/JAVA 2022. 11. 4. 00:04

프로그램을 실행시키면 예기치 못한 결과를 맞이하거나, NullPointException과 같은 예외로 실행하지 못할 수도 있습니다. 오늘은 자바에서 예외를 처리하는 방법을 배워보겠습니다. 자바의 예외는 0으로 나누거나, Null 값을 가지는 참조 자료형을 참조하는 등 미리 지정된 경우가 있습니다. 또한 잘못된 처리로 인한 예외를 발생시켜야하는 사용자 지정 예외도 존재할 것입니다. 두 가지 경우의 예외를 발생시키고 이를 처리하는 방법에 대해 배울 것 입니다. 📌 예외 객체와 예외 클래스 📚 예외 (Exception) 프로그램 실행 중에 예기치 못한 상황에서 발생하는 비정상적인 상황을 가리킴 문법에 맞지 않게 작성된 코드는 컴퍼일러에 의해 컴파일 오류로 걸러지지만 예외는 사용자의 잘못된 입력같이 예기치 못한..

article thumbnail
[JAVA] 11 추상 클래스와 인터페이스
코딩언어/JAVA 2022. 11. 3. 02:18

세상에는 다양한 종류의 도형이 있습니다. 직사각형이나, 사다리꼴, 삼각형 등등 다양한 종류가 있고 이들은 모두 도형이라는 특징을 가지고 있습니다. 각 도형을 자바에서 구현하기 위해 Polygon 클래스를 부모로 상속한다고 가정해봅시다. 만약 각 도형의 넓이를 구하는 메서드를 Polygon 클래스에 구현해두면 각 도형에 맞는 넓이를 구할 수 없을 것입니다. 그렇다고 각 도형 클래스에 따로 정의하면 메서드 이름을 따로 기억해야하는 번거로움이 있을 것 입니다. 이러한 문제 상황을 해결하기 위해 만들어진 것이 추상 클래스와 인터페이스입니다. 비슷한 행위를 하는 각 클래스에 동일한 메서드를 강제로 구현하도록 하는 추상클래스를 배워봅시다. 또한 공통의 부모를 가지지 않지만 같은 행동을 강제해야하는 경우 사용하는 인..

article thumbnail
[JAVA] 10. 상속과 다형성
코딩언어/JAVA 2022. 10. 30. 00:21

📌 상속과 다형성 실제 일상에서도 비슷한 일을 하는 여러 형태의 도구가 있습니다. 이들을 활용하여 필요한 곳에 모아서 사용하거나, 같은 기능을 하는 것끼리 모아서 보관을 편히 할 수도 있습니다. 자바에서도 상속받은 객체들끼리 모아서 배열로 만들거나 매개변수로 사용할 수 있습니다. 오늘은 객체 지향언어의 특징인 다형성을 배워봅시다. 다양한 형태가 존재하는 다형성이라는 객체 지향 언어의 특징을 배워봅시다. 이러한 다형성의 활용 방법을 배워보며 업캐스팅과 다운 캐스팅의 용어도 배워봅니다. 또한 각 객체가 명시된 클래스로부터 생성되었는지를 확인하는 instanceof 연산자도 배워봅시다. 📌 I. 상속과 다형성 📚 1. 다형성 (Polymorphism) 다양한 형태가 존재한다는 의미 프로그래밍을 유연하게 만들어..

article thumbnail
[JAVA] 09. 클래스 상속
코딩언어/JAVA 2022. 10. 24. 00:27

현실의 상속은 부모의 재산을 자식이 상속받는 것을 의미합니다. 그러나 객체 지향 언어에서의 상속은 부모의 생물학적 특징을 물려받는 유전과 비슷하다고 생각하면 좋습니다. 부모 클래스에서 만들어진 특징을 자식 클래스가 물려받고, 필요에 따라 유지, 수정, 추가할 수 있습니다. 자바의 객체별로 각 클래스를 작성하다 보면 반복되는 부분이 있을 것입니다. 이러한 부분을 효율적으로 동일한 처리할 때 사용하는 클래스 상속의 개념을 배워봅시다. 또한 하위 클래스에서 상속된 상위 클래스를 접근 및 수정하는 방법을 배워봅시다. 📌 클래스 상속의 기본 개념 📚 배경 비슷한 동작을 하는 서로 다른 객체들을 작성하는 방법은 두 가지입니다. 📃 포괄적인 속성/행위를 갖는 클래스로 구현 지나친 일반화로 서로 다른 객체 간에 구분이..

article thumbnail
[JAVA] 08. 배열
코딩언어/JAVA 2022. 10. 22. 01:46

일상 생활에서도 비슷한 것들끼리 묶어두면 유지 관리하기 쉽고, 필요할 때 내용을 찾기도 쉽습니다. 프로그래밍에서도 같은 자료형끼리 묶어서 관리하는 배열이 있습니다. 배열을 통해 각 내용들을 모으고 관련된 내용을 다루고 묶어서 관련된 처리를 할 수 있습니다. 자바에서의 배열을 다뤄보겠습니다. 기본 자료형과 참조 자료형의 1차원 배열은 어떻게 다룬지 비교해보고, 여러 배열들이 모여 만들어진 다차원 배열에 대해 배워겠습니다. 더불어 각 배열의 요소에 접근하는 방법이나 함수에 배열을 매개변수로 삼을 때 차이점도 배워보겠습니다. 📌 기본 자료형의 1차원 배열 📚 JAVA 배열 사용시 유의점 배열은 반복문으로 반복적 사용을 고려하여 설계해야함 배열 + 반복문을 세트로 생각할 것 자바의 배열은 참조 자료형 * 참조 ..

article thumbnail
[JAVA] 07-2 자바 기본 API
코딩언어/JAVA 2022. 10. 20. 01:10

📌 java.lang.Object 클래스 📚 java.lang.Object 클래스 자바의 모든 클래스들은 이 클래스를 기반으로 작성됨 모든 클래스의 부모 역할을 하는 클래스 명시적으로 상속 관계를 기술하지 않아도 모든 클래스에 강제로 상속시키는 최상위 클래스 java.lang.Object 클래스의 주요 메서드들은 다음과 같습니다. 메소드 설명 boolean equals(Object obj) obj가 가리키는 객체와 현재 객체를 비교하여 같으면 true 리턴 * 객체는 속성값을 비교하는 것이 아닌 참조 변수 자체를 비교합니다. 때문에 객체의 값을 비교하기 위해서는 equals가 필요합니다. int hashCode() 현 객체에 대한 해시 코드 값 리턴 Sting toString() 현 객체에 대한 문자열 ..