반응형 전체 글87 객체 지향 설계의 기본 :: 역할과 구현의 분리 다형성, 역할과 구현의 분리 다형성(Polymorphism)은 객체지향 프로그램밍에서 중요한 개념으로, 하나의 추상적인 역할(인터페이스나 추상 클래스)을 여러 다른 구체적인 개념으로 구현할 수 있는 능력을 가리킨다. 역할과 구현의 분리는 다형성의 핵심 원칙이며, 코드의 역할과 분리가 명확해질수록 코드가 단순해지고 유지보수가 용이해진다. 즉, 새로운 구현을 추가하거나 기존 구현을 변경할 때 다른 부분에 미치는 영향이 적을수록 역할과 구현이 잘 분리되었다고 말할 수 있다. 다음은 역할과 구현의 분리를 실세계의 비유로 표현한 그림이다. 위 예시 그림으로 다형성의 역할과 구현의 분리 개념을 설명하면 이렇다. 사용자(클라이언트)는 대상의 역할(인터페이스)만 알면 된다. - 즉, 스마트폰(갤럭시, 아이폰)의 사용 .. 2023. 9. 25. 스프링(Spring)과 스프링 부트(Spring Boot) 스프링의 도입 스프링 도입 이전, JAVA 엔터프라이즈 애플리케이션 개발을 위해 EJB(Enterprize JavaBeans)라는 표준 컴포넌트 모델을 사용했었다. 초기 EJB는 매우 복잡한 API와 설정, 성능 문제 등 많은 문제가 있어, 개발자들이 개발하는 데에 많은 어려움을 겪었다. EJB3.0부터는 더 간단하고 가벼운 프로그래밍 모델을 제공하며 개발자 경험을 대폭으로 개선했으나, 2003년 로드 존슨(Rod Johnson)이 개발한 경량 프레임워크인 스프링과 경쟁하면서 EJB의 인기가 감소하게 되었다. 스프링(Spring) 스프링은 자바 기반 애플리케이션을 개발하기 위해 다양한 기술들을 제공하는 프레임워크이다. 핵심 기술 스프링 DI 컨테이너 : 의존성 주입(Dependency Injection).. 2023. 9. 24. 예외 처리: 사용자 정의 예외 사용자 정의 예외(User-Defined Exception) 사용자 정의 예외란 Java에서 기본적으로 제공되는 예외 클래스를 상속받아 사용자가 직접 예외 클래스를 정의하는 것을 의미한다. 사용자 정의 예외는 기존의 예외 클래스를 확장하여 프로그래머가 특정 예외 상황을 더 명확하게 표현하고 예외 처리를 할 수 있게 한다. 아래는 RuntimeException 클래스를 상속받은 사용자 정의 예외 클래스를 작성한 예이다. public static void main(String[] args) { throw new customException("사용자 정의 예외 발생"); } } class customException extends RuntimeException { // 사용자 정의 예외 RuntimeExcep.. 2023. 9. 14. 예외처리: throw와 throws throw 키워드 throw 키워드는 프로그래머가 고의로 예외를 발생시키는 키워드이며, 연산자 new를 이용해서 발생시키려는 예외 클래스의 인스턴스를 생성시킨다. 예시 try{ throw new Exeption("고의로 예외 발생")// 예외 발생 }catch(Exception e){ System.out.println("에러 메시지:"+ e.getMessage()); e.printStackTrace(); } System.out.println("프로그램 정상 종료"); 출력 결과를 보면, throw키워드를 이용하여 Exception 예외를 고의로 발생시킨 것을 확인할 수 있다. throw 키워드는 일반적으로 개발자가 원하는 시점에서 예외를 생성하고 프로그램의 제어 흐름을 변경하는데 사용된다. throws .. 2023. 9. 14. try-catch, printStackTrace(), getMessage()와 예외 처리 흐름 예외처리 실행 중의 '에러(심각한 오류)'는 프로그래머가 해결을 할 수 없지만, 예외는 처리를 해주어야 한다. 예외처리란 프로그램 실행 시 발생할 수 있는 예상하지 못한 예외의 발생에 대비한 코드를 작성하는 것이다. 예외 처리는 예외 발생에 의한 프로그램의 비정상적 종료를 예방하고, 정상적인 실행상태를 유지하기 위함이다. try-catch-finally문 : try-catch-finally문은 자바에서 예외 처리를 위해 사용되는 구문이다. try블록: 예외가 발생할 수 있는 코드를 블럭 내에 작성하고, 이 블록 안에서 예외가 발생하면 제어 흐름은 try문 아래에 있는 catch 블록 중 하나로 이동된다. catch블록: try에서 예외가 발생하면 해당하는 catch 블록으로 제어 흐름이 이동한다. 예외 .. 2023. 9. 14. 오류와 예외, 예외 클래스(checked, unchecked) 프로그램 오류 프로그램 실행 중 어떤 원인에 의해서 예기치 않은 결과가 발생하거나 비정상적으로 종료되는 결과를 프로그램 오류 또는 에러라고 표현한다. 프로그램 오류는 크게 아래 3가지로 구분될 수 있다. 종류 설명 컴파일 에러 컴파일 시에 발생하는 에러 런타임 에러 실행 시에 발생하는 에러 논리적 에러 실행은 되지만, 프로그래머 의도와 다르게 동작하는 것 컴파일의 동작 흐름 자바에서 소스코드를 컴파일하는 과정은 프로그래밍의 기본이다. 컴파일러는 소스코드(.java)를 검사하여 오타, 문법 오류, 자료형 불일치 등의 기본적인 오류를 확인하고 보고해준다. 이를 통해 개발자는 코드를 수정하여 컴파일을 성공적으로 완료할 수 있으며, 성공적인 컴파일 후에는 클래스 파일(.class)이 생성되어, 파일이 실행된다... 2023. 9. 14. 이전 1 ··· 9 10 11 12 13 14 15 다음 반응형