본문 바로가기

Java27

Factory Pattern Java 디자인 패턴 중 가장 많이 사용되는 패턴 중 하나이다. 객체를 만들때 만드는 로직을 노출할 필요없이 공통 인터페이스를 통해 생성 한다. 원을 그리고 싶은데 도형을 그리는 함수에서 정 사각형을 그릴 수 있는 함수를 가져와서 사용하는 예제이다. 실제 main 함수에서 보면 정사각형을 그리는 함수는 직접 나타나지 않고, 도형을 그리는 함수만 표시된다. 구현 1) 도형이라는 interface를 하나 만들고, 공통 인터페이스인 draw를 하나 정의한다. 2) 도형 인터페이스를 가진 원, 사각형을 만든다. 3) ShapeFactory를 만들고 해당 함수에서 받은 인자로, 원 또는 사각형을 리턴한다. public class FactoryPattern { public static void main(String.. 2022. 1. 23.
Java Interface 사용 #2 2022.01.23 - [정리 중/Java Interface 사용] - Java Interface란 ? #1 Java Interface란 ? #1 말 그대로 내가 만든 클래스가 외부와 연결되는 통로라고 보면 된다. 간단히 예를 들면 나는 원, 삼각형, 사각형을 표현하는 class를 만든다. 각각의 class는 꼭지점 갯수와 그린다는 함 flowx.tistory.com 앞 글에 이어서 좀 더 쓸수 있게 해보자 게임에서 사람이 탈것을 만든다고 하자. 1) 탈수있는 사람을 셋팅하고 최대수를 제한해야함 2) 속도를 설정 3) 속도를 갖고올수있도록 할것 Vehicle interface를 만들고 각각의 함수를 만든다. interface Vehicle { public boolean setPassenger(int p.. 2022. 1. 23.
Java Interface란 ? #1 말 그대로 내가 만든 클래스가 외부와 연결되는 통로라고 보면 된다. 간단히 설명하면 자판기가 있고, 나는 커피를 뽑고자 할때를 비교해서 한번 보자. Interface 그럼 돈을 넣고, 제품을 선택하고, 제품을 뽑고, 잔돈을 받는다. 즉 이 순서는 모든 자판기에서 우리가 알고 있는 작동법이다. Encapsulation 그 안에서 어떤 상품을 선택해서 나에게 주고, 잔돈은 어떤방식으로 인식해서 계산해서 주는지 정확한 내용을 알필요가 없다. Polymorphism 그런데 자판기 종류는 많다. 커피자판기, 음료수 자판기, 담배 자판기 .. 등등 하지만 자판기를 사용하는 손님 입장에선 그 자판기가 무엇이든 사용법은 동일하다. 즉 동일한 방식의 조작법만 안다면 다양한 제품을 겟할수 있다. 물론 다른 옵션이 들어갈 .. 2022. 1. 23.
Java Junit 5 with VSCode(실행, assert ) #2 테스트 수행 시 해당 테스트 코드에서 딱 한번만, 아님 함수마다 한번씩만 실행하려 하면 해당 어노테이션을 사용하면 된다. 실행 관련 Annotation @BeforeAll - 테스트 수행 시 한번만 실행 @BeforeEach - @Test가 붙은 함수 수행 전 실행 @AfterEach - @Test가 붙은 함수 수행 후 실행 @AfterAll - 테스트 종료 시 한번 호출 import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.. 2022. 1. 22.