
제너릭(generic) 사용의 목표는 일반적인 코드를 작성하고 해당 코드를 다양한 타입의 객체에 대해 재사용하기 위해서라고 할 수 있다.이때 타입 파라미터를 사용해 클래스와 인터페이스를 정의하게되는데,타입 파라미터는 주로 대문자 알파벳 한 문자로 표현한다. 클래스 혹은

들어가기 전에? 멀티태스킹(mult-tasking) 멀티태스킹은 하나의 CPU가 여러가지 작업을 번갈아 처리하는 방식으로 동시에 처리하는 것처럼 보이지만, 실은 CPU가 빠르게 작업을 전환하면서 동시에 처리하는 듯한 효과를 낸다. 즉, 하나의 응용 프로그램이 여러 개의

멀티스레드 구현 전 몇 개의 작업을 병렬적으로 실행할 지 결정해야한다.자바에서는 다중상속이 불가능하기에, 이를 생각하면 Runnable 인터페이스를 사용하는 방식으로 스레드를 생성하는 것이 좋다.주의할 부분:run() 메소드 종료 시 스레드는 종료된다.스레드가 계속 살
유연하고, 견고하며, 유지보수하기 쉬운 코드를 클린코드라고 한다. 협업에서 다른 개발자들이 내 코드를 읽었을 때, 그 의도를 쉽게 파악하고, 수정 및 기능을 추가할 수 있어야한다.클린코드를 만들어가는 활동이자, 코드의 구조를 개선하는 활동이다. 소프트웨어의 겉으로 보이

사실 이번주차 수업 내용의 주는 SOLID 원칙을 다루는 부분이었는데 조금 길어져서, 이 내용을 뒤에 정리하게되었다.SOLID 원칙이란 우선 변화에 강하고 재사용에 유리한 클래스 구조를 만드는 법칙이자 원칙이라고한다. 앞에서 정리한 클린코드를 위해서 지켜야하는 법칙과
리팩토링 실습 저번 주에 배운 SOLID원칙을 기반으로해, 리팩토링 실습을 진행하는 과제. 이전에 Battle 과제를 진행하면서 작성한 코드를 우선 고치기 위해서 다시 살펴봤는데... 우선 분명 작성했던 코드인데, 하나도 기억이 안나서 한참 이것저것 뜯어봤다..ㅎㅎ
수정1: Situation 클래스

디자인 패턴 가장 효율적이고 검증된 설계 방법으로, SOLID 원칙을 코드에 실제로 녹여내는 실용적인 방법. 디자인 패턴 적용시의 장점 재사용성과 유지보수성: 검증된 구조를 사용해 코드 안정성과 유연성이 크게 확장됨 효과적인 의사소통: 공용어를 사용하였기에, 복잡한

자바의 GUI를 WindowBuilder라는 이클립스의 툴을 사용해서 디자인한 후에, GUI 요소를 스레드로 만들어 각각이 실행하면서 움직일 수 있도록하는 게임을 만들기자바의 각 요소가 모두 스레드로써 동작한다는 점과, 만약 GUI의 JFrame 내 요소들을 각각 스레

데이터베이스와 DBMS 데이터베이스 여러 시스템들의 통합된 정보를 저장하여 관리 및 운영할 수 있도록하는 공용 데이터의 집합 데이터의 저장, 검색, 수정, 삭제를 효율적으로 진행하기 위해서 조직화되어 있음 DBMS

자바 기반의 강력한 웹 애플리케이션 개발을 위한 오픈소스 프레임워크설정이 복잡함 -> 그래서 등장한 것이 스프링부트(SpringBoot)복잡한 설정 없이 간편하게 시작할 수 있는 스프링 프로젝트 템플리스프링 프레임워크를 기반으로 하지만 복잡한 XML 설정 없이 어노테이

자바 객체와 관계형 데이터베이스를 매핑하는 표준 명세(ORM)SQL을 직접 작성하지 않아도 DB 작업이 가능해짐JPA를 더 쉽게 사용하도록 스프링이 추상화한 기술CRUD 기능을 제공하는 인터페이스DB와 매핑되는 객체임을 알려주는 어노테이션이전 스프링부트 프로젝트에서 의

클라이언트서버커맨드LoginPanel: 초기 게임 접속 화면MainFrame: 게임 시작 화면. 캔버스, 채팅, 제시어, 색깔 바꾸는 패널 등 모든 패널을 가지고 있는 JFrame을 상속한 클래스GamePanel: 게임 시작 및 게임 종료 버튼이 들어있는 JPanel

주요내용 중간기록진행사항을 받아서 팀원의 코드를 받아서 연결되는 DB코드 (DB Connector)를 사용해 플레이어들의 정보를 간단히 기록해볼 수 있는 CRUD를 구현하는 DB의 생성을 목표로함.새로운 기능인 타이머를 도입하기 위해 우선 클라이언트 측에서 UI에 타