차근차근 개발자 되기

분류 전체보기 117

17일차: Java Thread/java.io패키지- 2021.07.07

목차 1. Thread 2. java.io패키지 1. Thread 제어 → ★ManageToilet / Toilet / Family 참고 • 프로세스(process): 실행 중인 하나의 애플리케이션 • 스레드(thread): 각 프로세스를 구성하는 작업 단위 1) Thread 제어: 동기화 기법 - 한 번에 하나의 쓰레드만 객체에 접근할 수 있도록 객체에 락(lock)을 걸어서 데이터의 일관성을 유지하는 것 - synchronized로 선언된 메소드는 한 번 실행이 끝나야 다음 실행이 가능 - 다른 Thread들은 한 개의 Thread가 이 메소드의 실행을 끝낼 때까지 대기 ① 동기화 메소드 - 메소드에 lock을 설정 public synchronized void Method(){ 임계영역 처리구문 } ..

Java 2021.07.07

16일차: Java 예외처리/Thread- 2021.07.06

목차 1. 예외처리 2. Thread 1. 예외처리 1) 예외의 정의와 목적 • 예외: 프로그램이 실행되는 동안에 발생하는 예기치 않은 에러를 의미 • 예외처리: 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 • 예외처리를 하는 목적: 프로그램의 비정상적인 종료를 막기 위해서 사용 2) 예외 메시지 종류 ① printStackTrace(): 예외 정보를 자세하게 출력 형식: ex. e.printStackTrace(); 결과: e.printStackTrace() = java.lang.Exception: 에러내용입니다. at ExeThrowException.main(ExeThrowException.java:5) * ​printStackTrace() 메소드는 자료형이 void이므로..

Java 2021.07.06

15일차: Java 자료구조/제네릭/예외처리 - 2021.07.05

목차 1. 자료구조 2. 제네릭 3. 예외처리 1. 자료구조(Collection) 1) Map 인터페이스 → ★MapTest / HashTableTest 참고 • Map 인터페이스 - HashMap, HashTable (상속받는 클래스) - 여러가지 자료형의 Data를 모두 저장할 수 있다. (ex) int, double, char, boolean, String etc) - Data를 저장할 때 Key, Value를 동시에 저장한다. - put() 메소드로 데이터를 저장한다.(add() 메소드가 아님) - key값은 중복이 되면 안 된다. 만약에 중복된 key가 있으면, 가장 마지막에 설정된 value만 사용할 수 있다. - value값은 중복이 되어도 상관없다. - 입력: put(key, value) ..

Java 2021.07.05

14일차: Java 레퍼런스 형변환/자료구조 - 2021.07.02

목차 1. 레퍼런스 형변환: 업캐스팅, 다운캐스팅 2. 자료구조(Collection): Set, List, Vector 1. 레퍼런스 형변환 - 두개의 클래스 사이에 상속관계가 있어야함 1) 업캐스팅(자동 형변환) →★CastingEx 참고 - 서브클래스에서 슈퍼클래스로 형변환 하는 것 - 참조 가능한 영역이 축소가 된다. - 컴파일러에 의해서 암시적 형변환(자동 형변환) 된다. - 주로 메소드의 매개변수가 Object인 경우 업캐스팅이 일어난다. Parent p; Child c = new Child(); p = c; // 업캐스팅(자동 형변환) Parent p = new Child(); ex1) Calendar cal = new GregorianCalendar(); // 업캐스팅 ex2) List li..

Java 2021.07.02

13일차: Java 추상클래스/인터페이스/레퍼런스형변환 - 2021.07.01

목차 1. 추상 클래스 2. 인터페이스 3. 자료형 변환: 레퍼런스 형변환 1. 추상 클래스(Abstract Class) 1) 추상 클래스의 정의와 특징 →★AbstractTest01 참고 • 추상 클래스: 실체 클래스들의 공통되는 필드와 메소드를 정의한 클래스 - 추상 클래스는 *실체 클래스의 부모 클래스 역할 (자체적으로 객체 생성X) - 추상 클래스를 구성하는 요소는 추상 메소드와 일반 메소드, 멤버변수가 있다. - 실체 클래스의 공통된 필드와 메소드의 이름을 통일할 목적으로 사용된다. - 추상 클래스는 객체 생성을 통해 불러올 수 없기 때문에, 일반 클래스인 자식 구현 클래스로 객체를 생성해서 접근한다. abstract class AbsClass{ int a=10; // 멤버변수 abstract ..

Java 2021.07.01

12일차: Java 상속(필드/메소드 오버라이딩/생성자) - 2021.06.30

목차 1.1 상속: 필드 1.2 상속: 메소드 1.3 상속: 생성자 1.4 상속: 접근제어자 1. 상속(Inheritance) → ★SuperSub00 / SuperSub01 참고 - 자식(하위, 파생) 클래스가 부모(상위) 클래스의 멤버를 물려받는 것 - 상속 대상: 부모의 필드와 메소드 (생성자는 상속 X) - 상속 방법: ‘자식 클래스명’ extends ‘부모 클래스명’ 1) 상속에서의 필드 → ★SuperSub04 / SuperTest02~04 참고 • 은닉 변수(= 쉐도우 변수) : 부모 클래스에 있는 필드를 자식 클래스에서 재정의(동일한 이름의 변수를 생성)하면, 기본적으로 자식 클래스에서 재정의한 필드만 사용 가능하다. - super : 부모 클래스를 의미한다. - super.X : 부모 클..

Java 2021.06.30

11일차: Java split()메소드/Wrapper클래스/상속 - 2021.06.29

목차 1. Split() 메소드 2. 자료형 변환: Wrapper 클래스 3. 상속 1. 문자열 관련 클래스: String의 split() 메소드 1) split() 메소드 → ★SplitEx / SplitEx1 참고 - java.lang 패키지 → String 클래스 → split() 메소드 - 매개변수에는 구분자가 들어감 (ex. tel.split(“-“)) - 구분자가 두 개 이상일 때는 ‘|’을 넣어준다. (ex. “ & | , | - “) 2. 자료형 변환: Wrapper 클래스 - 주로 자료형 변환을 사용할 때 많이 쓴다. (ex) 20이란 문자를 숫자 20으로 변환을 시킬 때 "20" ---> 20) - 기본 패키지인 java.lang 패키지에 속해 있기 때문에 import를 하지 않아도 된..

Java 2021.06.29

10일차: Java 문자열 관련 클래스 - 2021.06.28

목차 1. 문자열 관련 클래스: String 2. 문자열 관련 클래스: StringBuffer 3. 문자열 관련 클래스: StringTokenizer 1. 문자열 관련 클래스: String 1) String 클래스에서의 메모리 할당 방식① → ★StringTest00 참고 - new 연산자로 새로운 객체를 생성하게 되면 값이 같더라도 다른 주소를 가진다. 2) String 클래스에서의 메모리 할당 방식② → ★StringTest01 참고 - 값의 변화가 일어날 때마다 heap메모리상에 새로운 공간이 생성됨 - 값에 변화를 주게 되면 새로운 변수로 받아야 출력 가능 3) String 객체의 “+” 연산 수행 → ★ConnectString 참고 - 문자열과 문자열을 +연산자로 연산하면 연결이 된다. (ex...

Java 2021.06.28

9일차: Java 패키지/접근 제어자/날짜시간 관련 클래스 - 2021.06.25

목차 1. 패키지 2. 날짜/시간 관련 클래스(Date, Timestamp, Calendar) Intro • 필드의 접근제어자가 private일 때 필드에 값을 할당하는 방법 1. 생성자의 매개변수를 통해 필드값을 초기화 시켜서 접근 2. set() 메소드의 매개변수를 통해 할당 1. 패키지(Package) → ★RandomEx 참고 1) 패키지 • 패키지(package): 관련 있는 클래스를 묶어 놓은 것 • java.lang 패키지 - 기본 패키지 - 자바에서 가장 사용 빈도가 높은 클래스를 묶어 놓은 패키지 ex) java.lang.String java.lang.System java.lang.Integer * 기본 패키지(java.lang)외의 패키지는 import해서 사용해야 함. ex) impo..

Java 2021.06.25

8일차: Java 메소드 호출/static/final - 2021.06.24

목차 1. 메소드 호출 2. 정적 멤버와 static 3. final 필드와 상수 1. 메소드(Method) 1) 매개값이 배열인 메소드의 호출 → ★ComputerEx 참고 2) 클래스 내부에서 메소드 호출(메소드 안에서 다른 메소드 호출) → ★CalculatorEx1 참고 - 같은 클래스 내의 메소드를 호출할 때는 ‘메소드명()’으로 호출 가능 ( ex. double sum = plus(x, y); ) 3) 메소드 오버로딩(Overloading) → ★CalculatorEx2 참고 - 한 개의 클래스 안에 같은 이름의 메소드를 여러 개 선언하는 것 - 하나의 메소드 이름으로 다양한 매개값을 받기 위해 메소드 오버로딩 - 오버로딩의 조건: 매개변수의 타입, 개수, 순서가 달라야 함 2. 정적 멤버와 ..

Java 2021.06.24