SeSAC 24일차(2023-08-25)
상속, 배열, 컬렉션, 스레드
MVC (Model View Controler)
- M (HTML)
- <a>, <form>
- V (CSS)
- C (Java Script)
상속
extends로 클래스 상속을 받고, 자식 클래스에서 메서드 구현을 따로 안했는데, 호출 시 부모 클래스의 메서드가 불러와졌다.
- 다형성
- 다형성은 상속 관계에 있는 클래스 간에 발생할 수 있는 현상
- 부모 클래스의 메서드를 자식 클래스에서 오버라이딩하거나, 자식 클래스에서 새로운 메서드를 추가하여 사용할 수 있다.
- 이렇게 하나의 부모 클래스를 상속받아 여러 자식 클래스에서 다양한 방식으로 사용할 수 있다는 개념을 다형성이라고 한다.
배열
- Array
- type과 개수를 정해놓은 데이터들의 집합
- ex) int[] i = new int[365];
- type과 개수를 정해놓은 데이터들의 집합
컬렉션
- List
- 인덱스 존재
- ArrayList
- LinkedList
- 첨삭용 List
- 이전 값과 다음 값 사이에 주소 값 존재
- Set
- 인덱스 미존재
- 중복 비허용 (unique한 값)
- List의 중복 제거를 위한 사용
- ex) Set<String> hashSet = new HashSet(list);
- Map
- Map<key, value>의 형태
- key 값은 중복 불가, unique한 값으로 생성
- 검색이 빠르다.
제너릭
- 같은 타입의 데이터만 받을 수 있다.
- 선언부에는 필수, 초기화는 선택 (초기화에서 넣으면 성능 향상)
- 값을 get할 때 casting할 필요 없다.
단방향 배열
- Enumeration
- ex) public enum 이름 { 필드 멤버 선언 }
- Literal
- while문으로 next(), hasNext() 사용
클래스 생성 시 같이 생성할 메소드
- hashcode()
- 위변조 방지용
- 성능 향상
- toString()
- equals()
스레드
자바에서 스레드는 프로그램 내에서 실행될 수 있는 코드 블록을 말한다.
스레드를 사용하면 하나의 프로그램 내에서 여러 작업을 동시에 처리할 수 있다.
스레드는 운영체제가 관리하는 프로세스와 달리 경량 프로세스이기 때문에, 더욱 빠른 실행 속도와 효율적인 자원 관리를 할 수 있다.
자바에서 스레드는 Thread 클래스를 상속받아서 만들거나 Runnable 인터페이스를 구현하는 방법으로 생성할 수 있다.
- CPU
- Thread
- light weight Process
- 운영체제가 관리
- Thread
- data
- Object
- code
- Runnable Queue
- Running
- sleep()
- join()
- wait()
- notify()
- yield()
- Not Runnable
실습
- Project: ThreadProject
- package: test.thread
- Main-class: TestFirstThread, TestSyncThread
오늘의 실습 코드
https://github.com/yubin-im/SeSAC/tree/f7a911458cc48ba5d93bc2894c5548cf8acbc63a/20230818/test
728x90
'교육 (Today I Learned) > SeSAC' 카테고리의 다른 글
SeSAC 26일차 / 정렬 알고리즘 (0) | 2023.08.25 |
---|---|
SeSAC 25일차 / 스레드 (0) | 2023.08.25 |
SeSAC 23일차 / 조건문, 반복문, toString(), equals() (0) | 2023.08.25 |
SeSAC 22일차 / 알고리즘 (0) | 2023.08.17 |
SeSAC 21일차 / 미니 프로젝트 (0) | 2023.08.17 |