
실습 1. Battle 리팩토링 1. Main 클래스에서의 무기들(청룡언월도, 쌍고검, 장팔사모, 청강검) 값 초기화 Win 클래스에서의 무기들(청룡언월도, 쌍고검, 장팔사모, 청강검) 값 초기화 두 개의 클래스에서 같은 무기들이 두번씩 반복되어 정의되어 있으므로 데이터를 한 곳으로 몰아 통일하는 것이 좋아보임. 2. 2번 변경 전 Win 클래스 ...
Generic 1) Generic programming 일반적인 코드를 작성하고 이 코드를 다양한 타입의 객체에 대하여 재사용하는 프로그래밍 기법 타입을 파라미터로 가지는 클래스와 인터페이스를 정의 -> Type(T) 안에는 무엇이든 다 담아도 됨 2) Generi

for-each와 Iterator 두 개를 사용해봤을 때, 나에게는 Iterator를 사용하는것이 더 직관적으로 이해가 잘 되는 것 같다.ArrayList에 직접 요소를 삭제하고 수정하고 추가해보면서 가변 크기를 가진 ArrayList의 특징을 직접 경험해보았다.Q.

멀티태스킹 멀티태스킹: 하나의 CPU가 여러가지 작업을 번갈아 처리. 하나의 응용프로그램이 여러 개의 태스크를 동시에 처리 1) 멀티프로세스 여러 CPU/CPU코어를 이용해 여러 프로세스를 동시에 실행 프로세스: OS에서 관리하는 실행단위 프로세스간
lab01 Thread t1 = new MyThread();의 업캐스팅 구조 설명 업캐스팅이란? 자식 객체(new MyThread())를 부모 타입의 변수(Thread t1)담는 것 new MyThread()라는 실제 객체(TV)를 만들어서 부모의 기능을 물려받으면서
쓰레드 동기화 1) 쓰레드 동기화 멀티 스레드의 문제점 (다수의 스레드가 공유 데이터에 동시 접근)의 해결책 -> 공유 데이터를 배타적으로! (1) synchronized로 동기화 블록 지정 공유 데이터에 접근하는 모든 스레드의 한 줄 세우기 한 스레드가 독점 실행해야하는 부분(동기화 코드)을 표시하는 키워드 임계영역 지정 -> 한 번에 하나의 쓰레드만...

S.O.L.I.D 유연성(새로운 기능 쉽게 추가), 유지보수성, 재사용성 끊임없이 변화하는 소프트웨어에 유연하게 대처 결합도 낮추고 응집도 높이기