분류 전체보기
-
Java Design Pattern - SOLID 원칙Language/Java Design Pattern 2022. 11. 18. 15:02
SOLID 원칙 SOLID 원칙이란? SOLID 원칙이란 객체지향 설계에서 지켜줘야 할 5개의 원칙(SRP, OCP, LSP, ISP, DIP)을 말한다. 설계 원칙을 잘 알아야 하는 이유는 시스템에 예상하지 못한 변경사항이 발생하더라도, 유연하게 대처하고 이후에 확장성이 있는 시스템 구조를 설계하기 위해서이다. 좋은 설계란 시스템에 새로운 요구사항이나 변경사항이 있을 때, 영향을 받는 범위가 적은 구조를 말한다. 1. SRP(Single Responsibility Principle), 단일 책임 원칙 객체는 단 하나의 책임만 가져야 한다는 원칙을 말한다. 객체지향적으로 설계할 때는 응집도는 높게, 결합도는 낮게 설계하는 것이 좋다. 1. 응집도 : 한 프로그램의 요소가 얼마나 뭉쳐있는지, 즉 구성 요소..
-
Java - Custom ExceptionLanguage/Java 2022. 9. 29. 14:09
Custom Exception Custom Exception 만들기 기존에 정의된 예외 클래스 이외에 필요에 따라 새로운 예외 클래스를 정의하여 사용할 수 있다. 일반적으로 Exception 클래스를 상속받는 클래스를 만들지만, 필요에 따라서 알맞은 예외 클래스를 상속받아서 만든다. String 타입의 파라미터를 갖는 생성자는 상위 클래스의 생성자를 호출하여 예외 메시지를 넘겨준다. public class InSufficientBalanceException extends Exception { public InSufficientBalanceException(String message) { super(message); } } 위 코드는 잔고 부족 예외를 사용자 정의 클래스로 정의한 것이다. Insuffici..
-
Java - 예외 처리Language/Java 2022. 9. 29. 13:41
예외 처리 예외 처리란? 자바에서 예외 처리란 프로그램 실행 중 발생할 수 있는 예기치 못한 예외 발생에 대비한 코드를 작성하는 것이며, 예외처리의 목적은 예외의 발생으로 인한 실행 중인 프로그램의 갑작스러운 비정상적인 종료를 막고 실행상태를 유지하는 것에 있다. 자바에서의 예외 처리 방식은 아래와 같다. 1. 예외가 발생한 메서드 내에서 직접 처리하는 방법 2. 예외가 발생한 메서드를 호출한 곳으로 예외 객체를 넘겨주는 방법 3. 사용자 정의 예외를 생성하여 처리하는 방법 예외가 발생한 메서드 내에서 직접 처리하는 방법 try { 예외 발생 가능성이 있는 코드 } catch (예외타입01 매개변수명) { 예외타입01의 예외가 발생할 경우 처리 코드 } catch (예외타입02 매개변수명) { 예외타입0..
-
Java - ExceptionLanguage/Java 2022. 9. 29. 13:41
Exception 예외(Exception) 계층 구조 Java에서 Exception은 Checked와 UnChecked 두 가지로 나눌 수 있다. 위 사진은 Java Exception 클래스 계층 구조를 보여준다. 1. 체크 예외(Checked Exception) 실행하기 전에 예측 가능한 예외들을 말하는데, 체크 예외가 발생할 수 있는 메서드를 사용할 경우, 복구가 가능한 예외들이기 때문에 반드시 예외를 처리하는 코드를 작성해야 한다. catch 문으로 예외를 잡거나, throws로 예외를 호출한 클래스로 던지는 방법으로 해결해야 한다. ex) IOException, SQLException 2. 언체크 예외(UnChecked Exception) 실행하고 난 후에 알 수 있는 예외들을 말하는데, 언체크 ..
-
Java - 추상 클래스 & 인터페이스Language/Java 2022. 9. 21. 14:04
추상 클래스 추상 클래스란? 추상 클래스는 클래스 구현부 내부에 추상 메서드가 하나 이상 포함되거나 abstract 키워드로 정의된 클래스를 의미한다. 이러한 추상 클래스를 상속받은 클래스(하위 클래스)는 자기의 성질에 맞게 추상 메서드를 오버라이딩하여 사용한다. 추상 클래스의 특징 ㆍ 추상 클래스는 new 연산자를 사용하여 객체를 생성할 수 없다. ㆍ 추상 클래스(부모)와 일반 클래스(자식)는 상속의 관계에 놓여있다. ㆍ 추상 클래스는 새로운 일반 클래스를 위한 부모 클래스의 용도로만 사용된다. ㆍ 공통된 필드와 메서드를 통일하여 일반 클래스 작성 시 시간을 절약할 수 있다. ㆍ 추상 클래스는 단일 상속만 가능하며 일반 변수를 가질 수 있다. ㆍ 추상 클래스는 동일한 부모를 가지는 클래스를 묶는 개념으..
-
Java - finalLanguage/Java 2022. 9. 20. 17:34
final final이란? 위키피디아에 따르면 자바에서 사용하는 final은 다음과 같다. "자바 언어에서 final은 오직 한 번만 할당할 수 있는 entity를 정의할 때 사용된다. final로 선언된 변수가 할당되면 항상 같은 값은 값을 가진다. 만약 final 변수가 객체를 참조하고 있다면, 해당 객체의 상태가 바뀌어도 final 변수는 매번 동일한 내용을 참조한다." 이러한 final 키워드는 변수(variable), 메서드(method), 클래스(class)에 사용될 수 있다. 이 final 키워드는 어떤 곳에 사용되느냐에 따라 다른 의미를 가진다. 하지만, final 키워드를 붙이면 무언가를 제한한다는 의미를 가진다는 것이 공통적인 성격이다. 변수(varibale) 변수에 final을 붙이게..