본문 바로가기

프로그래밍

(97)
[Java 요약 정리] 13. AWT(Abstract Window Toolkit) 1. AWT(Abstract Window Toolkit) 1) AWT란?- GUI프로그래밍(윈도우 프로그래밍)을 위한 도구- Java로 구현하지 않고 OS의 컴포넌트를 그대로 사용(OS 종속적) 2) Swing- AWT를 확장한 GUI프로그래밍 도구- AWT보다 더 많은 종류의 컴포넌트 제공- OS의 컴포넌트를 사용하지 않고 Ja로 구현 3) AWT의 구성- AWT관련 패키지는 모두 java.awt로 시작- AWT컴포넌트의 최상위 조상은 java.awt.Component 클래스(메뉴 관련 컴포넌트 제외) 4) Container- 다른 컴포넌트를 포함할 수 있는 컴포넌트- 독립적인 컨테이너: 독립 사용 가능, 다른 컴포넌트나 종속적 컨테이너를 포함 가능- 종속적인 컨테이너: 독립 사용 불가(다른 컨테이너에..
[Java 요약 정리] 12. 입출력(I/O) 1. 입출력(I/O)1) 입출력(I/O)과 스트림(Stream)- 입출력: 두 대상 간의 데이터를 주고 받는 것- 스트림: 데이터를 운반(입출력)하는데 사용되는 연결 통로- 하나의 스트림으로 입출력을 동시 수행 불가(동시 수행 시 2개의 스트림 필요)- Binary 파일: 있는 그대로 저장된 파일- Text 파일: 문자로 저장된 파일 2) 바이트 기반 스트림(InputStream, OutputStream)- 데이터를 바이트(Byte)단위로 주고 받는다.- Input스트림과 OutputStream으로 구분- abstract int read() abstract void write(int b)- int read(byte[] b) void write(byte[] b)- int read(byte[] b, int ..
[JavaScript 요약 정리] 4. 연산자(Operator) 4. 연산자1) 기본 연산자+ 더하기- 빼기 * 곱하기 / 나누기 % 나머지 2) 비교 연산자>= < 초과 미만 == 일치 != 불일치 3) 복합대입 연산자+= 기존변수에 값 더하기+- 기존변수에 값 빼기*= 기존변수에 값 곱하기/= 기존변수에 값 나누기%= 기존변수에 나머지를 구하기 4) 증감 연산자변수++ 연산 후 기존 변수에 값을 1 더하기++변수 연산 전 기존 변수에 값을 1 더하기변수-- 연산 후 기존 변수에 값을 1 빼기--변수 연산 전 기존 변수에 값을 1 빼기 5) 일치 연산자== 두 값의 자료형과 값이 일치할 경우 true 반환!= 두 값의 자료형 혹은 값이 다를 경우 true 반환*=== !==의 형태는 타입까지 체크
[JavaScript 요약 정리] 3. 변수(Variable) 3. 변수- 변수: 값을 저장할 때 사용하는 식별자- 자바스크립트의 변수는 값이 입력되면 타입을 스스로 감지하기 때문에 별도로 선언 불필요- 변수에는 6가지 기본 자료형 저장 가능 1) 변수의 생성과 사용- 생성방법: var 변수명;- 값 할당 방법: 변수명=값;- 동시에 진행: var 변수명=값; 2) let 변수- 재선언 불가, 재할당만 가능- 해당 {스코프} 내에서만 사용 가능 3) const 상수- 재선언, 재할당 불가(변하지 않는 값)- 해당 {스코프} 내에서만 사용 가능 4) 변수의 사용 범위- 유효 범위에 따라 전역 변수(Global Variable)와 지역 변수(Local Variable)로 구분- 전역 변수: 함수 외부에서 선언된 변수 // 프로그램 전체에서 접근 가능- 지역 변수: 함수..
[Java 요약 정리] 11. 스트림(Stream) 11. 스트림(Stream) 1) 스트림이란?- 다양한 데이터 소스를 통일된 방법으로 다루기 위한 것- 스트림이 제공하는 기능: 중간연산, 최종 연산- 과정: 스트림 생성 -> 중간연산 -> 최종연산 2) 스트림의 특징- 스트림은 데이터 소스로부터 데이터를 읽기만할 뿐 변경하지 않음(원본 유지)- 스트림은 Iterator처럼 일회용(필요시 스트림 재 생성해서 사용)- 최종 연산 전까지 중간연산 미수행(지연된 연산)- 작업을 내부 반복으로 처리한다.- 작업을 병렬처리한다. (병렬 스트림)*기본형 스트림(IntStream, LongStream, DoubleStream)- 오토박싱&언박싱의 비효율 제거됨(Stream 대신 IntStream사용)- 숫자와 관련된 유용한 메소드를 Stream보다 많이 제공 3) ..
[Java 요약 정리] 10. 람다식(Lambda Expression) 10. 람다(Lambda) 1) 람다식이란?- 함수를 간단한 식(Expression)으로 표현하는 방법- 익명함수(Anonymous function): 이름이 없는 함수- 메소드는 클래스에 종속적이지만 함수는 클래스에 독립적 2) 람다식 작성하기- 메소드의 이름과 반환타입을 제거하고 '->' 를 블록{} 앞에 추가ex) int max(int a, int b) { return a > b ? a : b; } => (int a, int b) -> { return a > b ? a : b }- 반환값이 있는 경우, 식이나 값만 적고 return문 생략 가능(끝에 ; 안붙임)ex) (int a, int b) -> { return a > b ? a : b } => (int a, int b) -> a > b ? a ..
[Java 요약 정리] 9. 쓰레드(Thread) 9. 쓰레드(Thread) 1) 프로세스와 쓰레드- 프로그램: 실행 가능한 파일(HDD)- 프로세스: 실행 중인 프로그램(메모리) -> 자원과 쓰레드로 구성- 쓰레드: 프로세스 내 실제 작업 수행, 모든 프로세스는 하나 이상의 쓰레드 보유- 싱글 쓰레드 프로세스: 자원+쓰레드- 멀티 쓰레드 프로세스: 자원+N개의 쓰레드 2) 멀티 쓰레드- 멀티쓰레딩: 하나의 프로세스 내에 여러 개의 쓰레드를 사용하는 것- 장점: 효율적인 자원 사용, 사용자에 대한 응답성 향상, 작업 분리로 인해 간결한 코드- 주의사항: 동기화에 의한 문제 발생, 교착 상태(Dead-Lock), 기아 상태*프로그래밍 고려사항이 많은 게 단점으로 작용할 수 있음- 싱글코어: 순차실행, 병행(Concurrent) // 병행 -> 번갈아가며 ..
[JavaScript 요약 정리] 2. 자료형(Data Type) 2. 자료형- 자료의 형태- 총 6가지로 분류(string, number, boolean, function, object, undefined)- 이 중 숫자, 문자열, 부울은 기본 자료형 1) 문자열 자료형(String)- 문자를 나열한 자료- ' ' 혹은 " " 따옴표 사이에 표현, 둘 중 아무거나 사용 가능하지만 일관성 필요- '문자열1'+'문자열2' 형태로 +연산 가능 - 문자열 내에 따옴표 표현시 두가지를 전부 사용하거나 이스케이프 문자(\) 사용ex) "문자열 표현: \"문자열\""; or '문자열 표현: "문자열"';*이스케이프 문자: \t 수평탭 \n 줄바꿈 \' 작은 따옴표 \" 큰 따옴표 \\ 역슬래쉬 - 템플릿 문자열: 문자열 내 표현식을 계산 (ECMAScript 6부터 사용 가능)양..