languages

    180320 복습

    오브젝트 : 메모리에 올라가지 않은 상태인스턴스 : 메모리에 올라간 상태 패키지 네임주의할 점 : java가 들어가면 안된다!도메인을 거꾸로 쓴다 final만 붙이면 메모리 낭비가 된다!final static을 함께 붙여라! 자기 자신을 참조하는 레퍼런스 무조건 class는 api를 찾아보는 습관 final은 대상에 따라 틀리다클래스에 붙이면 상속 금지메소드에 붙이면 오버라이딩 금지필드에 붙이면 상수 # gc() : 강제로 객체를 끝내겠다 char 는 2바이트 (유니코드 때문) 다국어를 지원한다 프리미티 타입배열, 클래스 ... 레퍼런스 타입(무조건 동적 메모리에 할당해서 써야 한다) -마치 포인터 변수가 필요한 것처럼 레퍼런스 변수가 필요함 #객체를 만들때 생성자를 호출하기 때문에 ()를 꼭 명시해줘야..

    [Java] 이칙연산 계산기 구현

    123456789101112131415161718192021222324252627282930313233343536373839import java.util.LinkedList;import java.util.Queue;import java.util.Scanner; public class Test2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("계산할 수식을 입력하세요 : "); // ex. "11+22+33+4+5-10"; result = 65; String exp = sc.nextLine(); int plusSum = 0; int minusSum = 0; String[] oper..

    Method Overriding

    Method Overriding ㆍ 메소드의 이름, 메소드의 반환형, 메소드의 매개변수 선언-> 이 세가지가 같아야 method overriding이 성립한다.

    [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..