'programming/Java' 카테고리의 글 목록 :: 개발은 아름다워
728x90
SMALL

GUI(Graphical User Interface) : 컴퓨터를 사용하는 사용자를 위해 만들어진 특정한 기능을 가진 그래픽 요소

 

JAVA GUI 프로그래밍 : 사용자가 프로그램을 쉽게 다룰 수 있도록 그래픽을 제공하도록 프로그래밍 하는 것

 

AWT 와 Swing

AWT : 자바에서 GUI 를 프로그래밍 하기 위해 처음으로 제공한 라이브러리

- 특징 : java.awt 패키지에 Frame, Window, Panel, Button, Label 등이 존재, 운영체제의 자원 활용

 

Swing : AWT 를 대체하기 위해 자바로 작성된 GUI 객체

- 특징 : java.awt 패키지에 JFrame, JWindow, JPanel, JButton, JLabel 등이 존재, 운영체제의 자원 활용

- 컴포넌트 : JAVA에서 GUI를 구성하는 요소

- 컨테이너 : 다른 컴포넌트를 포함할 수 있는 컴포넌트

 

Swing GUI 프로그래밍 : 실제 GUI 프로그래밍을 하기 위해서 사용하는 메서드

 

 

 

 

728x90
LIST
728x90
SMALL

개념 : 랜덤 클래스(Random class) : 무작위로 값을 생성해내는 내부 알고리즘을 지닌 클래스

 

1. 랜덤으로 숫자 5번 실행해서 100까지의 숫자 나타내기

 

랜덤 숫자

2. Random을 활용한 알파벳 맞추기(힌트 : 대문자 A는 유니코드 65번)

 

Random

3. 주사위 클래스 만들어 던지기 기능

주사위 던지기

4. 주사위 클래스 기능 활용(두 개의 주사위를 던져 더블이 나올 때까지 던지기)

두 개의 주사위 더블 추가

5. 스택 : 일직선으로 되어 있는 자료구조, 후입 선출(Last In - First out)

스택

 

728x90
LIST
728x90
SMALL

컬렉션(Collection) 프레임워크(Framework)의 개념과 구조

 

컬렉션(Collection) : 동일한 타입을 묶어서 관리하는 자료구조 - 저장 공간의 크기(capacity)를 동적으로 관리

 

프레임워크(Framework) : 클래스와 인터페이스의 모임 (라이브러리) - 클래스의 정의에 설계의 원칙 또는 구조가 존재

 

컬렉션 프레임워크 : 리스트, 스택, 큐, 트리 등의 자료 구조에 정렬, 탐색 등의 알고리즘을 구조화해 놓은 프레임워크

  * 자료구조(Data Structure) : 데이터를 효율적으로 저장 및 관리할 수 있는 소프트웨어적 구조

     * 자료구조 대표적 예 : 배열

         * 장점 : 여러 개 한꺼번에 관리, 순차적 관리, 번호 기반 접근 가능, 쉽게 사용 가능

         * 단점 : 선언 후 크기가 정해짐, 정해진대로 써야 한다, 번호 기반 접근 가능

     * 배열 외 자료 구조 예 : 리스트, 스택, 큐, 트리, 그래프, 맵

 

*** 데이터 수집 + 기능 제공 틀 ( 클래스 or 인터페이스)

 

개념
구조

리스트(List) : 순차적으로 데이터를 저장 및 관리하는 자료 구조

List
Set
hasset
TreeSet

 

맵(Map) : 두 개의 구성 요소를 지닌 데이터를 저장 및 관리

 특징 : 
 - 순서가 없다. 대신 키가 있다.
 - 키의 중복을 허용하지 않는다. 대신 밸류는 중복될 수 있다.
  
 종류 : 
 - 해시맵 : 해시 알고리즘으로 키의 중복을 검사하는 맵 
 - 트리맵 : 해시 맵에 정렬 기능이 추가된 형태의 맵

HashMap
TreeMap

728x90
LIST

'programming > Java' 카테고리의 다른 글

[Java] GUI 프로그래밍  (4) 2022.08.18
[Java] (Random 클래스) 활용 예제  (6) 2022.07.20
[Java] (BigInteger) 개념  (2) 2022.07.18
[Java] (Generic, class/interface) 개념과 필요성  (1) 2022.07.18
[Java] (Thread) 개념  (2) 2022.07.15
728x90
SMALL

BigInteger : long보다 큰 수를 나타내기 위해 활용, 기본 자료형으로 표현할 수 있는 정수보다 더 큰 값을 표현하고자 할 때 사용.

 

728x90
LIST
728x90
SMALL

제네릭(Generic) 타입(Type)

개념과 필요성

- 어떤 자료를 받을지 명시가 되어 있지 않아 주의하지 않으면 실수가 발생할 수밖에 없다.

- 클래스를 매번 생성해야 하는 문제점에 대한 해결책

- 클래스나 인터페이스에 적용 가능

- 미리 정해둘 수 없는 참조 타입을 비워두는 기법(제네릭 선언 기호 : <>, 타입 매개변수 : T) - 비워두고 싶은 부분 표시하기

- 일반적인 이름 규칙 : 대문자로 알파벳 하나만 쓰기

- 타입 인자를 받아서 쓴다라는 특징.(단, 참조 자료형이어야 함)

- 자바에서는 기본 자료형의 객체화 타입인 '래퍼 클래스' 라는 것을 지원한다.

   * 래퍼 클래스 : 기본 자료형 값을 보유한 포장지를 만드는 클래스, 모든 기본 자료형은 대응하는 래퍼 클래스가 존재한다.

   * 래퍼 클래스는 좋으나, 기본 자료형보다 훨씬 큰 메모리 크기를 사용해야 하기에 꼭 필요하지 않다면 권장되지는 않음.

 

제네릭 필요성

 

제네릭 필요성(2)
제네릭 사용 예
다중 매개변수 기반 제네릭 클래스 사용 예

 

레퍼 클래스 적용 예(2)
래퍼 클래스(매개변수화 타입) 활용해보기

728x90
LIST

+ Recent posts