본문 바로가기

웃음기 있는 글들/JAVA6

게임에 팩토리 패턴 적용 현재 내 게임에 플레이어에게 피해를 주는 객체는 monster과 bomb 두가지이다.둘 다 RandomMovableObject 추상 클래스를 상속받고, 코드가 동일하다.팩토리 패턴을 사용해서 이렇게 비슷하게 생성되는 객체들을 통합해서 관리할 수 있다. 팩토리 패턴이란?객체 생성을 캡슐화해서, 객체 생성 로직을 클라이언트 코드와 분리하는 디자인 패턴이다.객체 생성 코드를 중앙 집중화해서 유지보수성을 높이고, 객체 생성을 유연하게 관리 가능하다. 또한 새로운 객체 타입을 추가하려면 팩토리 클래스에 새로운 조건과 생성 코드를 추가하면 되므로 확장성까지 보장된다. 팩토리 패턴의 구조는 Creator, Product, Concrete Product로 이루어져있다.Creator는 Factory 클래스로, 객체 생성.. 2024. 11. 20.
JAVA - 디자인 패턴 정리 1. 생성 패턴 -싱글턴: 특정 클래스의 인스턴스가 단 하나만 존재하도록 제한함. 전역적으로 접근 가능한 인스턴스가 필요할 때 유용.ex) 데이터베이스 연결 객체 등 전역에서 하나만 있어야 하는 경우. -팩토리 메서드: 객체 생성 코드를 서브클래스에서 정의하여, 객체 생성을 하위 클래스에 맡김.ex) 다양한 종류의 버튼이나, 모양을 가지는 UI 요소 생성 시. -추상 팩토리: 관련된 객체들을 그룹화하여 생성할 수 있는 인터페이스 제공. 여러 제품군을 생성해야 할 때 유용.ex) 서로 다른 운영체제에 맞는 UI 요소 생성. (MaxOS Windows) -빌더: 복잡한 객체를 단계별로 생성할 수 있도록 도와줌. 객체를 생성하는 과정, 표현을 분리.ex) 복잡한 레스토랑 주문 구성. 서브웨이처럼 레시피를 조.. 2024. 11. 12.
JAVA - 용어 정리<2> 1. 매개변수의 종류 -기본형 매개변수(값에 의한 전달): 기본 데이터 타입(int, double, boolean 등)에서 값을 복사하여 메서드에 전달한다. 메서드 내에서 매개변수 값을 변경해도 원본 값엔 영향이 없다.-참조형 매개변수(참조에 의한 전달): 객체 타입(string, arraylist 등)을 전달할 때는 "값을 주소"가 전달된다. 메서드 내에서 객체의 상태를 변경하면 원래 객체에도 영향을 미친다. 반환 타입도 참조형이 될 수 있다.   2. 지역 변수와 지역 상수 -지역 변수: 메서드 내에서 선언된 변수. 해당 메서드 내에서만 사용 가능, 실행될때마다 독립적인 값을 저장하고 관리하게 된다. 내부에서 정의될 때 생성되어 메서드 종료 시 사라진다.public void exampleMethod(.. 2024. 11. 11.
객체 지향 실습 - 게임에 적용 앞으로 게임에 구현할 것들의 마인드맵을 그려봤다. 첫번째 줄기는 클래스, 두번째 줄기는 메서드다. 인터페이스를 설계한다면 :1. 점수 관리 인터페이스- 현재 점수, 보너스 점수, 최고 점수와 관련된 기능 제공.- 점수 클래스를 비롯해, 점수를 부여할 수 있는 보너스 아이템과 이벤트메서드 ex) 현재 점수를 반환하기, 점수를 증가시키기, 점수를 초기화시키기, 최고 점수를 반환하기, 최고 점수를 갱신하기 2. 획득 가능한 아이템 인터페이스- 플레이어가 게임 도중 획득(+바로 사용) 가능한 객체메서드 ex) 아이템을 획득하기, 아이템이 획득 가능한지 확인하기, 아이템 효과 적용하기 3. 이동 가능한 객체 인터페이스- 이동 가능 객체들을 정의.메서드 ex) 객체를 특정 방향으로 이동, 현재 위치 반환하기, 위치.. 2024. 11. 9.
JAVA - 용어 정리<1> 1. 클래스(class)객체를 생성하기 위한 청사진 역할을 한다. 여러 가지 인스턴스 변수와 인스턴스 메서드로 구성된다.2. 변수(instance variable)클래스 내에서 사용되는 변수. 클래스의 속성을 나타낸다3. 메서드(instance method)클래스 내부에서 정의된 함수. 객체의 동작을 정의한다.4. 객체(object)클래스를 기반으로 생성된 클래스의 인스턴스. 실제 데이터를 담고 있다. 클래스를 사용해 만들 수 있는 실체. 클래스를 정의하면 그 클래스에는 속성(변수)와 행동(메서드)를 정의한 청사진만 담겨있다.이 클래스를 바탕으로 new 키워드를 사용해 객체를 생성하게 되면, 메모리 공간에 실제 데이터가 자동으로 할당되고, 클래스가 정의한 속성과 행동을 가지는 구체적인 실체가 된다.그래서.. 2024. 11. 9.
JAVA 공부 시작! C를 알고리즘으로 배우고 있는 것처럼, Java는 게임으로 공부해보려고 한다!Java로 알고리즘은 영 안 끌린다. 그래서 일단 재밌는 걸로 공부해야겠다 일단 간단하게 만들고 있는 병아리 게임! 5x5의 위치에 폭탄이 계속 랜덤한 곳으로 이동하며, 병아리는 플레이어가 조작이 가능하다.이동 시 폭탄이 터지지 않으면 점수가 증가한다.폭탄과 플레이어의 위치가 겹치면 폭탄이 터지며 병아리는 계란후라이가 된다 ㅠㅠ https://github.com/roqkfchqh/java_miniGame/branches GitHub - roqkfchqh/java_miniGameContribute to roqkfchqh/java_miniGame development by creating an account on GitHub.git.. 2024. 11. 7.