객체를 기반으로 프로그램을 작성하는 언어부품 객체를 먼저 만들고 하나씩 조립해 가는 프로그램 기법→ 사용 목적 : 소프트웨어 생산성 향상, 실세계에 대한 쉬운 모델링 데이터(변수, 속성, 필드) + 기능(메소드, 함수)객체 지향 기법의 3R : Readability,
리팩토링(Refactoring) 소프트웨어 공학에서 결과의 변경 업시 코드의 구조를 재조정하는 것 가독성을 높이고 유지보수를 편하게 할 수 있도록 함 ① 상속 구조를 활용한 캐릭터 클래스 리팩토링 before Player 코드에 이미 정의되어 있는 변수들을 Pla
제네릭 프로그래밍(generic programming)일반적인 코드를 작성하고 이 코드를 다양한 타입의 객체에 대하여 재사용하는 프로그래밍 기법 타입을 파라미터로 가지는 클래스와 인터페이스를 정의한다. 선언 시 클래스 또는 인터페이스 이름 뒤에 <T><> 사
하나의 CPU가 여러가지 작업을 번갈아 처리하는 방식 → 동시에 처리하는 것처럼 보이나 사실은 CPU가 빠르게 작업을 전환하면서 동시에 처리하는 효과 여러 CPU 또는 CPU 코어를 이용해 여러 프로세스를 동시에 실행 단위: 프로세스 - OS에서 관리하는 실행 단위 프
Thread 상태 : 생성, 준비, 실행, 대기, 종료 NEW 스레드 객체 생성, 실행 시작 X start()로 스레드 시작되어 RUNNABLE 상태로 넘어감 RUNNABLE 실행 준비 완료 상태, CPU 스케줄링 기다리는 중 RUNNING 스케줄러가 스레드를 골
클린코드 클린 코드는... 코드 스멜이 없고 가독성이 높아 읽고 이해하기 쉬운 코드 단순해서 변경 및 확장이 용이한 코드 의도가 명확히 드러나 동료가 신뢰할 수 있는 코드 유연하고(Flexible), 견고하며(Robust), 유지보수하기 쉬움(Maintainable)
요구사항 실제 모델 : 콤비 커피머신 커피머신은 에스프레소를 추출하는 머신과 드립커피를 내리는 머신이 있다 메뉴는 에스프레소, 아메리카노, 라떼가 있다 → 각 음료는 각자의 준비 방법을 알고 제작된다 SOLID와 DI, IoC 개념을 적용하여 만들자! 객체지향설계