Language/Java

Language/Java

IllegalArgumentException, IllegalStateException

IllegalArgumentException 사용자가 값을 잘못 입력한 경우에 발생한다. 사용자의 잘못으로 발생하는 에러를 대표한다. IllegalStateException 사용자가 값을 제대로 입력했지만, 개발자 코드가 값을 처리할 준비가 안된 경우에 발생한다. 예를 들어, 로또 게임 진행 후 게임이 종료된 상태에서 사용자가 추가 진행을 위해 금액을 입력하는 경우. 이미 로또 게임 로직이 종료되었기 때문에 사용자의 입력에 대응할 수 없다. 인용 https://hyeon9mak.github.io/Java-exception/ Java Exception 제이슨의 Exception 강의를 들으면서 공부한 내용을 정리해보자. hyeon9mak.github.io

Language/Java

추상클래스

추상 메서드는 작동 로직은 없고 이름만 있는 메서드라고 보면 된다. public abstract void draw(); 추상 클래스 안의 메서드를 미완성으로 남겨놓는 이유는 부모(추상) 클래스에서 메서드를 선언부만 작성하고, 실제 내용은 상속받는 클래스에서 구현하도록 하기 위해 일부러 비워두는 개념이다. 추상 클래스 하나 이상의 추상 메소드를 포함하는 클래스라고 정의하기도 한다. 클래스의 선언부에 abstract 키워드가 있다는 말은 안에 abstract method 가 있으니 상속을 통해서 구현해주라는 지침이기도 하다. 추상 클래스는 추상 메서드를 포함하고 있다는 것을 제외하고는 일반 클래스와 전혀 다르지 않다. 추상 클래스에도 생성자가 있으며, 독립적인 인스턴스 멤버 변수와 메서드도 가질 수 있다. ..

Language/Java

DI(Dependent Injection) 이란?

DI(의존관계 주입) : 객체가 의존하는 또 다른 객체를 외부에서 선언하고 이를 주입받아 사용하는 것이다. 클래스 모델이나 코드에는 런타임 시점의 의존관계가 드러나지 않는다. 그러기 위해서는 인터페이스만 의존하고 있어야 한다. 런타임 시점의 의존관계에는 컨테이너나 팩토리 같은 제 3의 존재가 결정한다. 의존관계는 사용할 오브젝트에 대한 레퍼런스를 외부에서 주입해줌으로써 만들어진다 DI 구현방법 기존 코드 class BurgerChef{ private BurgerRecipe burgerRecipe; public BurgerChef(){ burgerReceipe = new HamBurgerReceipe(); } } 생성자를 이용 class BurgerChef{ private BurgerRecipe burge..

Language/Java

Assertion 메소드 공부

공식 문서 : https://junit.org/junit5/docs/current/api/org.junit.jupiter.api/org/junit/jupiter/api/Assertions.html Assertions (JUnit 5.9.1 API) Assert that all supplied executables do not throw exceptions. If any supplied Executable throws an exception (i.e., a Throwable or any subclass thereof), all remaining executables will still be executed, and all exceptions will be aggregated and reported i ju..

Language/Java

AssertJ 사용법 공부

공식문서 : https://joel-costigliola.github.io/assertj/assertj-core-features-highlight.html AssertJ / Fluent assertions for java AssertJ has many great features that not everybody is aware of, here are some of them. Basic tips : Iterable and arrays assertions : Advanced tips : We want to start typing asser and let code completion suggest assertThat from AssertJ (and not the one from joel-costigliola...

Language/Java

Arrays.sort와 Collections.sort의 차이

https://devlog-wjdrbs96.tistory.com/68 [JAVA] Array.sort 와 Collections.sort 의 차이 두개의 차이는 그냥 직관적으로도 정렬을 해주는 역할이고, Array.Sort는 배열을 정렬해주는 것이고 Collections.sort는 클래스의 객체를 정렬해주는 것이라고 생각이 든다. 파이썬에서는 sort가 있어서 devlog-wjdrbs96.tistory.com Array.Sort는 배열을 정렬해주는 것이고 Collections.sort는 클래스의 객체를 정렬해주는 것 출처: https://devlog-wjdrbs96.tistory.com/68 [Gyun's 개발일지:티스토리] https://haenny.tistory.com/349 [Java] Arrays...

kimjingyu
'Language/Java' 카테고리의 글 목록 (6 Page)