programming/java

    [Java] Generic And Collection

    14. 제네릭과 컬렉션 가. 일반화(Generic) 다양한 자료형의 데이터를 처리하기 위해서는 일반화(Generic) 작업이 필요함 나. 컬렉션(Collection) 1) 컬렉션이란?가) 집합데이터(다수의 데이터, 데이터 그룹)을 의미함나) 집합데이터를 저장할 수 있는 자료형배열컬렉션 클랙스(collection class)ex. ArrayList, HashSet, HashMap 다) 컬렉션 클래스들은 배열의 단점을 보완하기 위해 만들어짐라) 자료 구조들에 대한 알고리즘이 미리 구현되어 있음(Stack, LinkedList, Sort 등) 2) 자료형의 발전 과정변수 : 1개의 자료만 저장배열 : 여러 개의 자료 저장 가능(같은 자료형)구조체 : 다양한 자료형을 저장(Java에는 없음)클래스 : 다양한 자..

    20. Generic Classes and Methods

    클래스 변수 static인 이유?인스턴스 생성과 관계없이 제일 먼저 호출되는 method라서 public인 이유?main method의 호출 명령은 외부로부터 시작되는 명령이다.일종의 약속으로 이해하자 Generic이 갖는 의미는 '일반화'이다. [arrays]Enhanced for Loop for-each loop라고도 한다. 장점ㆍ 코드의 양이 확 준다.ㆍ 반복문 구성 과정에서 배열의 길이 정보를 직접 확인하고 입력할 필요가 없다. for(요소 : 배열) {반복할 문장들} 컬렉션 프레임 워크컬렉션 프레임워크의 대부분의 클래스들은 싱글 스레드 환경에서 사용할 수 있도록 설계되었다. 그래서 여러 스레드가 동시에 컬렉션에 접근한다면 의도하지 않게 요소가 변경될 수 있는 불안전한 상태가 된다. synchro..

    [Java] GUI 프로그래밍

    17. GUI 프로그래밍 17.1 자바의 GUI 프로그래밍 기술 TUI - Text-based User Interface 텍스트 기반의 인터페이스 GUI - Graphical User Interface 그래픽 기반의 인터페이스 17.1.1 AWT(Abstract Window Toolkit) GUI 프로그래밍을 위한 도구 GUI 프로그래밍에 필요한 다양한 컴포넌트를 제공 Java와 C로 구현 17.1.2 Swing AWT를 확장한 GUI 프로그래밍 도구 AWT보다 더 많은 종류의 컴포넌트를 제공 순수한 Java로 구현 17.2 화면 구성 요소 17.2.1 Component와 Container Component: 화면 구성 요소 Container: 다른 컴포넌트를 담을 수 있는 컴포넌트(그릇 역할) 17.2..

    [Java] 멀티스레드

    16. 멀티스레드 16.1 프로세스(Process)와 스레드(Thread) 16.1.1 작업관리자에서 프로세스와 스레드 확인 16.1.2 프로세스(Process)와 스레드(Thread) 프로세스(Process): 실행중인 프로그램 스레드(Thread): 프로세스 내에서의 작업 단위 16.1.3 프로세스의 메모리 구조 16.2 Single Thread와 Multi Thread 16.3 Multi Thread를 사용해야 하는 경우 16.3.1 GUI 프로그래밍 GUI 프로그래밍에서는 main Thread에서만 UI를 그리거나 갱신할 수 있음 16.3.2 시간이 오래 걸리는 작업 시간이 오래 걸리는 작업의 경우 ANR(Application Not Responding) 현상을 방지하기 위해 백그라운드에서 실행되..

    [Java] 예외처리

    15. 예외처리 15.1 예외 처리(Exception Handling) 15.1.1 예외처리란? 프로그램이 실행되는 동안 특정한 문제가 일어났을 때 처리를 중단하고 다른 처리를 하는 것 15.1.2 예외가 발생하는 원인 15.1.2.1 시스템 장애 네트워크 오류 사용권한 문제 15.1.2.2 사용자의 입력 실수 존재하지 않는 파일 이름 입력 숫자값 입력란에 일반 문자 입력 받아들일 수 없는 연산 15.1.2.3 에러, 경고, 예외 Error: 컴파일이 안됨 Warning: 실행은 되지만 성능 저하 등의 문제가 발생 가능성 Exception: 컴파일과 실행은 되지만 프로그램이 비정상적으로 종료되는 경우 15.1.2.4 예외 처리를 하는 경우 선택적인 예외 처리 : 예상되는 코드에 처리 필수적인 예외 처리 ..

    [Java] 제네릭과 컬렉션

    14. 제네릭과 컬렉션 14.1 일반화(Generic) 다양한 자료형의 데이터를 처리하기 위해서는 일반화(Generic) 작업이 필요함 // : Declare generic type public class ReactiveBuffer extends Block { public java.util.List buffer = new ArrayList(); // Parameter defined by UML. Do not edit. public final boolean allowDuplicates; public boolean bufferIsEmpty() { return buffer.size()

    [DAY 04] 계산기 프로그램 구현

    1234567891011121314151617#define _CRT_SECURE_NO_WARNINGS#include void main(){ int num1, num2; char oper; printf("Enter the 1st number : "); scanf("%d", &num1); printf("Enter operator : "); scanf("%c", &oper); printf("Enter the 2nd number : "); scanf("%d", &num2); printf("%d %c %d = %d \n", num1, oper, num2, num1 + num2);}Colored by Color Scriptercs operator의 문제점 123456789101112131415161718192021..

    [Java] 내부 클래스

    12. 내부 클래스 12.1 내부(중첩) 클래스(inner class, nested class) 12.1.1 내부 클래스의 정의 클래스 안에 선언된 클래스 특정 클래스 내에서만 주로 사용되는 클래스를 내부 클래스로 선언한다. GUI 애플리케이션(AWT, Swing)의 이벤트 처리에 주로 사용됨 내부 클래스도 클래스이기 때문에 외부클래스$내부클래스.class로 컴파일됨 12.1.2 장점 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다. 코드의 복잡성을 줄일 수 있다. 12.1.3 단점 코드의 재사용이 어려움 class AA { static class BB { static int bb = 20; static class CC { int cc = bb + 10; } } } public class C..

    [Java] class(추상화)

    11. class(추상화) 11.1 객체지향 프로그래밍의 4대 특성 11.2 추상화 11.2.1 객체에서 공통된 속성과 행위를 추출하는 것 11.2.2 자바 프로그램에서의 추상화 11.2.2.1 추상클래스 1개 이상의 추상 메서드 11.2.2.2 인터페이스 모두 추상 멤버 11.3 추상 클래스(abstract class) 11.3.1 abstract method(미완성 메서드)를 포함하고 있는 클래스 abstract method: 선언부만 있고 구현부(body)가 없는 메서드 11.3.2 추상클래스는 인스턴스를 생성할 수 없다. 추상클래스를 상속받는 자식클래스에서 abstract method를 완성해야 함 11.3.4 코드의 공통적인 부분을 제시하고 표준화하기 위한 용도로 활용됨 abstract clas..

    [Java] static, final, 다형성

    10. static, final, 다형성 10.1 static 10.1.1 static 정지상태, 고정적인, 변화가 없는 static의 반대말: dynamic 10.1.2 static member static variable(정적 변수) 어디서든 공유해서 사용할 수 있는 변수 static method(정적 메서드) 10.1.3 static member의 특성 프로그램이 실행되면 메모리(클래스 영역)에 자동으로 로딩됨 프로그램이 끝날 때까지 메모리에 상주함 static method에서는 static member만 사용 가능함 10.1.4 dynamic member의 특성 프로그램 실행 중에 필요할 때 만들어지고 필요없으면 삭제됨 stack, heap 영역에 저장됨 10.2 JVM(Java Virtual M..