no image
[Java] 멀티스레드
멀티스레드 멀티 프로세스 : 독립적 (할당받은 메모리를 통해 실행) 멀티 스레드 : 독립적 x (하나의 프로세스 내부에 생성) 메인 스레드 반드시 존재 main() 메소드를 실행하면서 시작 싱글 스레드에서는 메인 스레드 종료시 프로세스 종료 멀티 스레드는 작업 스레드가 계속 실행 중이면 프로세스 종료 x 작업 스레드 생성 Thread 클래스로부터 직접 생성 Runnable : 작업 스레드가 실행하는 코드를 갖고 있는 객체 Runnable : 인터페이스 타입 → 구현 객체를 직접 만들어야함 Runnable ⊃ run() → 재정의 Runnable은 작업 내용을 가지고 있는 객체. (실제 스레드는 아님) Runnable 인터페이스 class subThread implements Runnable { publi..
2021.10.18
no image
[C 이론] 17. 구조체
구조체(Structure) 사용자가 C언어의 기본 타입을 가지고 새롭게 정의할 수 있는 사용자 정의 타입 기본 타입만으로는 나타낼 수 없는 복잡한 데이터를 표현할 수 있다. 멤버 변수 (member vaiable) : 구조체를 구성하는 변수 배열 🆚 구조체 배열 : 같은 타입의 변수 집합 구조체 : 다양한 타입의 변수 집합 구조체 정의와 선언 struct student { int number; char name[10]; double grade; }; // 구조체 정의 int main(void){ struct student s1; // 구조체 변수 선언 ... } 이름 없는 구조체 선언 구조체를 정의할 때 태그 이름을 생략할 수 있다. 이 경우 구조체의 이름이 없으므로 구조체 변수를 구조체 정의와 함께 선..
2021.06.23
no image
[C 이론] 16. 파일 입출력
파일(file) 일련의 연속된 바이트(byte) 모든 파일 데이터들은 결국 바이트로 바뀌어서 파일에 저장된다. 바이트들을 어떻게 해석하느냐에 따라 파일의 내용이 달라진다. 이진 파일(binary file) 이진 파일은 사람이 읽을 수 없으나 컴퓨터는 읽을 수 있는 파일 이진 데이터가 직접 저장되어있는 파일 이진 파일은 텍스트 파일과 달리 라인들로 분리되지 않는다. 이진 파일은 특정 프로그램에 의해서만 판독가능하다.└ EX. 실행 파일, 사운드 파일, 이미지 파일 파일 처리 디스크 파일은 FILE 구조체를 이용하여 접근 FILE 구조체를 가리키는 포인터를 파일 포인터(file pointer) 라고 한다. 파일 열기 파일 모드 : 파일을 열어 수행할 작업 명시 파일 모드 💡 추가 모드(append mode)..
2021.06.22
no image
[C 이론] 15. 표준 입출력
표준 입출력 스트림 스트림(Stream) : 입력과 출력을 바이트(byte)들의 흐름으로 생각하는 것 입출력 함수의 분류 printf() 플래그 : 입/출력시 입력 형식을 지정하는 것 플래그 활용 💡+: 양수이면 "+"를 붙여서 출력한다.(음수는 기본적으로-붙여서 출력한다!) -: 왼쪽 정렬해서 출력한다. 필드폭(width)과 정밀도(precision) 💡기본적으로 소수는소수점 아래 6자리가 기본이고반올림하여 표시한다! 형식 지정자 scanf() 문자열을 제어문자의 형태에 맞춰 사용자에게 입력받는다. 💡_scanf()_사용시, 입력값을 저장할 변수의 주소를 전달한다!! scanf("%d", x);// ERROR ! 문자와 문자열 입력 💡문자 입력 : 형식 지정자에 공백이 있으면 입력내용에서 공백을 기준으..
2021.06.22
no image
[C 이론] 14. 문자와 문자열(2)
문자 입출력 라이브러리 함수 Ex1. getchar(), putchar() #include int main(void){ int ch; // 리턴 표준이 정수형임을 주의! int cnt = 0; // EOF 입력은 Ctrl + Z로 가능하다! while((ch = getchar()) != EOF) { putchar(ch); printf(" \n", cnt++); } return 0; } 💡 키보드 입력은 버퍼에 쌓이고 엔터 입력은 프로그램에 전달된다. (다음 단계 수행) Ex2. _getch(), _putch() #include #include // _getch(), _putch()가 포함된 헤더 int main(void){ int ch; // 리턴 표준이 정수형임을 주의! int cnt = 0; whil..
2021.06.05
no image
[C 이론] 13. 문자와 문자열(1)
아스키코드표(출처 : 코딩도장) 문자열(string) : 문자들이 여러 개 모인 것 문자는 ' (작은 따옴표)로 표현 문자열은 " (큰 따옴표)로 표현 문자열 변수 : 변경 가능한 문자열을 저장할 수 있는 변수 💡 NULL문자( '\0' ) : 문자열의 끝을 나타낸다. - 문자열은 어디서 종료되는지 알 수 없으므로 표시해준다. Ex1. 문자열 출력(1) #include int main(void) { int i = 0; char str[4]; str[0] = 'A'; str[1] = 'B'; str[2] = 'C'; str[3] = '\0'; while(str[i] != 0){ printf("%c %d %s\n", str[i], str[i], str); i++; } return 0; } 🌟 문자열을 생성할..
2021.06.05
no image
[Java] 14. 스윙
스윙 GUI 프로그램 만들기 스윙 프레임 작성 main() 메소드 작성 프레임에 스윙 컴포넌트 붙이기 스윙 패키지 사용에 필요한 import 문 import java.awt .*; // 그래픽 처리를 위한 클래스들의 경로명 import java.awt.event .*; // AWT 이벤트 사용을 위한 경로명 import javax.swing .*; // 스윙 컴포넌트 클래스들의 경로명 import javax.swing.event .*; // 스윙 이벤트를 위한 경로명 Ex1. 300 X 300 크기의 스윙 프레임 만들기 import javax.swing.*; public class MyFrame extends JFrame { public MyFrame() { setTitle("300x300 스윙 프레임 ..
2021.06.05
no image
[Java] 13. GUI
GUI(Graphical User Interface) 강력한 GUI 컴포넌트 제공 쉬운 GUI 프로그래밍 AWT 패키지와 Swing 패키지에 제공되는 메커니즘 이용 AWT - java.awt 패키지 Swing - javax.swing 패키지 💡 Swing에는 다양한 컴포넌트 기능들이 있어서 강하고 경량적인 프로그래밍에 유리하다! AWT(Abstract Windowing Toolkit) 자바가 처음 나왔을 떄 함께 배포된 라이브러리 java.awt 패키지 AWT 컴포넌트는 중량 컴포넌트(Heavy Weight Components)이다. AWT 컴포넌트는 native(peer) 운영체제의 GUI 컴포넌트의 도움을 받아 작동한다. - 플랫폼 의존적 운영체제에 많은 부담을 주지만 처리 속도는 빠르다. 교차 할 ..
2021.06.01
no image
[Java] 12. 모듈화와 패키지 응용
모듈 java9에서 도입된 개념 패키지와 이미지등의 리소스를 담은 컨테이너 모듈 파일(.jmod) └ 개발자가 쓰고 싶은 영역만 모듈로 묶음(모듈화) 메모리 제약 감소 필요한 요소만 사용 가능 자바 플랫폼 자바의 개발 환경(JDK)와 자바의 실행 환경(JRE)를 지칭한다. 자바 API 의 모든 클래스가 여러 개의 모듈로 재구성된다. 자바 실행 환경 비교 자바 모듈화의 목적 자바 컴포넌트들을 필요에 따라 조립하여 사용하기 위함 컴퓨터 시스템의 불필요한 부담 감소 기본 주요 패키지 java.lang - 자바 language 패키지 java.util - 자바 유틸리티 패키지 java.io - 키보드, 모니터, 프린터, 디스크 등에 입출력을 할 수 있는 클래스와 인터페이스 제공 java.awt - 자바 GUI ..
2021.06.01