전공수업정리 11

[JAVA]자바 GUI기초, AWT와 스윙(Swing)

GUIGUI응용프로그램GUI는 Graphical User Interface로, 사용자와 상호작용하는 소프트웨어입니다.사용자는 그래픽 요소(버튼, 텍스트 필드, 드롭다운 메뉴)를 통해 상호작용 할 수 있습니다.AWTAWT(Abstract Window Toolkit) 는 GUI 초기 프레임워크입니다.최근에는 거의 모든 GUI 응용프로그램이 스윙기반으로 작성되고 있으므로 자세한 건 다음에 알아보도록 합시다~Swing (AWT의 후속작!)스윙은 AWT와 달리 순수 자바 언어로 작성되어 운영체제의 도움을 받지 않아 경량 컴포넌트라고 불린다.스윙 컴포넌트의 이름은 AWT 컴포넌트와 구분하기 위해 모두 대문자 J로 시작한다.스윙은 AWT에 구현된 이벤트 처리나 GUI 컴포넌트의 기본 원리를 바탕으로 작성되어 스윙을 ..

[JAVA]입출력 스트림과 파일 입출력

8.1 자바의 입출력 스트림 스트림 - 연속적인 데이터 흐름 혹은 데이터를 전송하는 소프트웨어 모듈 스트림 입출력 - 버퍼를 갖고 순차적으로 이루어지는 입출력 입력 스트림 - 입력 장치로부터 자바 프로그램으로 데이터를 전달출력 스트림 - 출력 장치로 데이터 출력 입출력 스트림 특징-스트림은 단방향 입니다. 입력과 출력을 동시에 하는 스트림은 없습니다.-스트림의 양 끝에는 입출력 장치와 자바 응용프로그램이 연결됩니다.자바 프로그램은 입력 스트림과 출력 스트림과만 연결하고 입출력 스트림이 입출력 장치를 제어합니다.-스트림을 통해 흘러가는 기본단위는 바이트나 문자 입니다.-스트림은 선입선출, 즉 FIFO(first in first out) 구조이다. ---------------------------------..

[논리회로]Machine Language

Machine Languages-기계어 프로그램: 일련의 (이진)코드화 된 명령어어셈블리어-기계 명령어의 기호 표기법-어셈블러에 의해 이진(기계명령어)로 번역됨하드웨어 구조에 크게 의존함(CPU 작동, 레지스터의 수와 유형)-각 컴퓨터마다 다른 기계어를 가짐 Machines1. 메모리데이터와 명령어를 저장하는 하드웨어 장치 모음"단어"의 배열표기법:Memory[주소],RAM[주소],M[주소]2.프로세서(CPU:중앙처리장치)기본적인 작업을 수행할 수 있는 장치피연산자는 레지스터 또는 메모리에서 가져옴결과는 레지스터 또는 메모리에 저장됨3. 레지스터고속의 로컬 메모리각각 단일 값을 가질 수 있음느린 메모리 접근 작업을 보완하는데 사용됨프로세서가 데이터와 명령어를 빠르게 조작할 수 있게 함   기계어 명령어 ..

[선형대수학]Eigenvalues and Eigenvectors

Eigenvalues, Eigenvectors A가 n*n matrix (square matirx)입니다.λ는 scalar 값입니다. square matrix A에 대하여 nonzero vector x에 대해Ax= λx를 만족하는 벡터 x가 존재할 때,( λ 는 상수) λ를 eigenvaluex를 eigenvector 라고 합니다. 그렇다면 square matrix A가 주어졌을 때 eigenvector와 eigenvalue 값은 어떻게 구하는 지 알아봅시다. 구하는 순서는 다음과 같습니다.  1. eigenvalue 찾기Ax=  λx에서 A는 행렬,  λ는 scalar값이므로 연산하기 어렵습니다. 이 점에서 양 변에 항등행렬I를 곱합니다.AIx=Ax=  λIxAx-  λIx=0(A- λ I)x=0 를 ..

[JAVA]StringBuffer 클래스

StringBuffer 클래스-StringBuffer 클래스는 클래스를 문자열로 다룰 때 유용하게 사용되는 클래스 중 하나입니다.-문자열을 수정할 수 있는 공간을 제공합니다.(가변성)-문자열을 저장하기 위해 문자 배열을 사용합니다. -다양한 메소드를 지원합니다. append,insert,delete 등.. 앞서 말한 String과의 차이는 무엇일까요?-String은 불변한 문자열을 처리하기 위한 클래스인 반면, StringBuffer은 가변한 문자열을 처리하기 위한 클래스입니다.-String은 새로운 객체를 생성하여 추가 및 변경이 되지만, StringBuffer은 기존의 객체로 추가 및 변경이 됩니다. 예제public class StringBufferExample { public static vo..

[JAVA]String 클래스

String class'String'클래스는 문자열을 나타내는 데 사용되며, 'java.lang' 패키지에 포함되어 있습니다. String 객체의 특징은 다음과 같습니다.1. 불변성 - 객체의 내용은 생성 후 변경될 수 없습니다. 한번 생성 된 문자열이 메모리에 할당 되면 변경할 수 없습니다. 문자열을 수정한다고 하면 새로운 String 객체를 생성하는 수 밖에 없습니다.2. 다양한 클래스 메서드를 제공합니다.  length(): 문자열의 길이를 반환합니다.charAt(int index): 지정된 위치의 문자를 반환합니다.substring(int beginIndex, int endIndex): 문자열의 부분 문자열을 반환합니다.equals(Object another): 두 문자열의 내용이 같은지 비교합니..

[JAVA]Object class,프로세스,스레드,toString(),equal()

Object class-java.lang 패키지에 속한 클래스이다.-Object는 모든 클래스에 강제로 상속되며 Object만이 아무 클래스도 상송 받지 않는 유일한 클래스이다.(최상위 클래스) 메소드설명boolean equals(Object obj)obj가 가리키는 객체와 현재 객체를 비교하여 같으면 true 리턴Class getClass()현 객체의 클래스 값을 리턴int hashCode()현 객체에 대한 해시 코드 값 리턴String toString()현 객체에 대한 문자열 표현을 리턴void notify()현 객체에 대해 대기하고 있는 하나의 스레드를 깨운다.void notifyAll()현 객체에 대해 대기하고 있는 모든 스레드를 깨운다.void wait()다른 스레드가 깨울 때까지 현재 스레드를..

[논리회로]PC, Program counter

카운터 (Counters)값의 증가, 감소, 리셋이 가능한 순차 회로입니다.로드, 리셋, 증가 등의 제어 비트를 통해 다양한 기능을 수행할 수 있습니다.입력 비트에 따라 카운터의 동작이 결정되며, 여러 제어 비트가 동시에 활성화될 때는 특정 우선 순위에 따라 동작합니다.회로 설명Inc : 현재 값을 1 증가시키는 회로입니다.Mux: 여러 입력 값중 하나를 선택하여 출력으로 전달하는 회로입니다.Reg: resister 데이터를 저장하는 레지스터입니다. 클록 신호에 따라 데이터 저장,출력을 유지합니다.  출력과정1. Inc:현재 register값(out)이 input 으로 들어오고 Inc를 거쳐 (out+1)이 됩니다.(inc=0이면 out=out// inc=1이면 out=out+1) 2. LoadMux(입..

[논리회로]sequential logic(flip flop, clock,DFF,resister,counters)

조합회로(combinational chip)   순차회로(sequential chip) 입력값에만 의존하는 계산 기능상태 유지 불가딜레이 없음입력이 바뀌면 출력도 즉시 변경됩니다. 시간의 영향을 받지 않고, 입력 상태에만 의존합니다."데이터 레이스" 문제가 발생할 수 있으며, 이는 입력들이 동시에 변할 때 출력이 불확정적이 될 수 있음을 의미합니다.flip flops 라고 불리는 낮은 수준의 게이트의 값에 의존Binary cells(registers, memory banks,counters)딜레이 있음출력이 클록 신호의 변화(대게 상승 모서리나 하강 모서리)에 의해서만 변경됩니다.시간 지연을 통해 데이터의 안정화와 동기화가 가능합니다. 예를 들어, ALU(산술 논리 장치)는 이 원리를 사용하여 연산을 동..

[JAVA] 모듈

모듈(module)-모듈은 자바 9에서 도입된 시스템입니다. -패키지의 집합을 한 단위로 묶어서 관리할 수 있게 해줍니다.-하나의 모듈은여러개의 패키지를 포함할 수 있습니다. -외부에서 재사용 할 수 있는 패키지들을 묶은 것을 말합니다.-패키지의 상위 개념이라고 할 수 있습니다. (패키지들의 패키지)-모듈 중에서 가장 기본이 되며 응용프로그램에 많이 사용되는 클래스들을 담고 있는 것이 java.base 모듈입니다.-모듈은 .jmod로 저장합니다. -오라클은 java 9의 도입과 함께 자바 플랫폼 전체를 모듈화 했습니다.-자바 플랫폼은 자바 플로그램의 개발환경,실행환경을 함께 지칭하는 것으로 JDK/JRE 형태로 제공됩니다.-모듈들은 개발자가 다운받은 JDK안의 jmods 디렉터리에 들어있습니다.-모듈들 ..