전체 글 337

2020.03.30

1. Thread : 실제 프로그램이 수행되는 작업의 최소 단위 (하나의 프로세스는 하나 이상의 Thread를 가지게 됨) 2. Process : 실행중인 프로그램 (OS로부터 메모리를 할당 받음) 3. Context Switching : 두 개의 쓰레드가 한 개의 쓰레드보다 느릴 수도 있다. 왜? 작업전환(Context Switching)이 발생하기 때문이다. 4. Dead Lock(교착상태) : 한정된 자원을 여러 곳에서 사용하려고 할 때 발생할 수 있다. 대기 상태로 들어간 프로세스들이 실행상태로 변경 될 수 없을때 이러한 상황을 교착상태라고 함 5. 엔디언(Endianness) : 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 특..

2020.03.27

1. List : 중복 허용, 순서 유지(인덱스 OK) 1) ArrayList : 참조 유리 / 삽입, 삭제, 추가 어려움 2) LinkedList : 삽입, 삭제, 추가 용이 / 참조 불리 2. Set : 중복 불가, 순서 없음(인덱스 NO) 1) HashSet : 검색 속도 2) TreeSet : 정렬 3. Map 1) HashMap : 검색 속도 2) TreeMap : 정렬 [실습코드] 1. [과제] 전화번호부 4.0 : CONTROLLER(PhonebookManager)만 수정하여 배열을 배열리스트로 자료구조 변경하기! package phonebook04.list; import java.util.ArrayList; import java.util.Arrays; import java.util.Date..

2020.03.26

1. Collection |__ List |__ ArrayList, LinkedList 2. Collection |__ Set |__ HashSet, TreeSet 3. Map |__ HashMap, TreeMap [실습코드] 1. Lec19_String 1) com.lec.java.string02 패키지, String02Main 클래스 package com.lec.java.string02; /* String 생성자, String literal(상수) */ public class String02Main { public static void main(String[] args) { System.out.println("String 생성자, literal(상수)"); int num1 = 1; int num2 =..

2020.03.25

1. 예외를 처리를 Exception Handling이라고 한다. 2. java.lang.Exception : 복구 가능 | |__ java.lang.RuntimeException : 꼭 핸들링 해 줄 필요 없다(즉, 코드 상으로 반드시 해 줄 필요 없다) | |__ ArithmeticException, NullPointerException, ... | |__ IOException, ParseException ... : 반드시 핸들링 해줘야 하는 에러(코드 상으로 반드시 해줘야 할 필요가 있다) [실습코드] 1. [과제] 카드 발급 회사 ** CardCompanyMain 클래스 package practice.cardcompany; /* * 카드회사가 있습니다. 카드회사는 '유일한 객체' 이고, * 이 회..

2020.03.24

1. 자바 클래스 구성 class 클래스 이름 { Fields 필드 : 멤버변수(member variables), 속성(attribute) 이라고도 함 Constructors 생성자 : 객체 생성시 호출됨, new 연산자 뒤에 붙는 것이 바로 생성자 필드 초기화 Methods 메소드 : 멤버메소드(member method) 혹은 동작(behavior) 라고도 함 객체의 동작 정의 } 2. 클래스 만들면서 상속 설정하는 법 : Superclass에 상속 받을 클래스를 선택 후 생성 [실습코드] 1. [과제] 정규표현식을 이용한 쿠폰 판정식 ** RegExp04Main package com.lec.java.regexp04; /* 정규표현식 연습 * * 이번에 우리 쇼핑몰에서 할인 쿠폰을 발행하려 한다. * ..

[단과_C] 2020.03.23

1. char*(포인터 변수)는 대입연산자(=)를 쓸 수 있고 scanf_s()는 불가능하다  2. char[](포인터 상수)는 대입연산자(=)를 쓸 수 없고 scanf_s()는 가능하다  3. 구조체(변수의 집합) 1) 타입이다. 2) 묶음이다. 4. 구조체 선언 1) struct 태그명 { //회사에서는 주로 구조체명이라고 안부르고 태그명이라고 부름         멤버변수명;         ...    };    2) typedef struct 태그명 {         멤버변수명;         ...    } 타입으로 사용할 태그명; 5. 구조체 사용 1) struct 구조체명 변수명 = { 초기값, ... };    struct 구조체명 변수명 = NULL;    구조체명.멤버변수명 = 값;   ..

2020.03.23

1. 객체지향프로그래밍(Object-oriented programming, OOP) : 사람의 사고와 비슷한 형태의 프로그래밍 1) 장점 ① 신뢰성 있는 소프트웨어를 작성할 수 있다. ② 코드 재활용하기 쉽다. ③ 업그레이드가 쉽다. ④ 디버깅이 쉽다. 2) 단점 ① 실행 크기 ② 실행 속도 2. 절차적 프로그래밍 (Procedural programming) : 물 흐르듯이 순서대로 처리하는 프로그래밍 3. 객체 (Object) : 우리 생활에서 이해하고, 인지할 수 있는 대상 4. 클래스 (Class) : 객체를 청사진화, 설계도화 5. 인스턴스 (Instance) : 클래스를 통해 실제로 만들어진 객체(들) 6. 생성자(Alt + Shift + S + O), getter & setter(Alt + S..

[단과_C] 2020.03.20

1. dArTask.c#include#include#includevoid sortASC(int arData[], int length);void sortDESC(int arData[], int length);void main() { //정수 개수 입력받고 그 만큼 할당하기 //입력받은 정수로 오름차순(void 함수) 또는 내림차순(void 함수) 선택 후 결과 출력 //1.오름차순\n2.내림차순\n3.나가기 int* dArNum = 0; int length = 0; int choice = 0; char* dot[] = { ".", "..", "..." }; char* loading[] = { "■□□□□□□□□", "■■□□□□□□□", "■■■□□□□□□", "■■■■□□□□□", "■■■■■□□□□",..

2020.03.20

1. 메소드 정의(definition) 수식어(modifier) 리턴타입 메소드이름 매개변수 리스트(parameter list) { 메소드 본체(body) } 2. 메소드 호출(call, invoke), 메소드 리턴(return) [실습코드] 1. 과제, 369게임 만들기 package practice.game369; /* * 369게임 * 1~100 까지의 자연수를 나열하되, * 10개 단위로 줄바꿈을 하고 * 숫자에 3,6,9 중 하나라도 있으면 * 표시를 하기 * * 주의! 순환문, 조건문만 사용(문자열 관련하여 사용 금지) * * 패키지: practice.game369 * 클래스: Game369 */ public class Game369 { public static void main(String[..