반응형 개발134 Java Exception 백기선님이 과거에 진행했던 Java 스터디 9주차 스터디 입니다. 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 예외처리란, 프로그램 실행 시 발생할 수 있는 예기치 못한 예외의 발생에 대비한 코드를 작성하는 것이다. 예외처리의 목적은 예외의 발생으로 인한 실행 중인 프로그램의 갑작스런 비정상 종료를 막고, 정상적인 실행상태를 유지할 수 있도록 하는 것이다. 발생한 예외를 처리하지 못하면, 프로그램은 비정상적으로 종료되며, 처리되지 못한 예외는 JVM 예외처리기가 받아서 예외의 원인을 화면에 출력한다. try-catch문 하나의 try 블럭 다음에는 하나 이상의 catch 블럭이 온다. 발생한 예외의 종류와 일치하는 catch 블럭이 없으면 예외는 처리되지 않.. 개발/Java 2022. 5. 24. Java interface 백기선님이 과거에 진행했던 Java 스터디 8주차 스터디 입니다. 인터페이스 정의하는 방법 인터페이스는 일종의 추상클래스다. 인터페이스는 추상 클래스처럼 추상 메서드를 가진다. 그러나 추상 클래스처럼 일반 메서드를 가질 수 없다. 또한 인터페이스는 멤버변수를 구성원으로 가질 수 없다. 오직 추상메서드와 상수만을 멤버로 가질 수 있다. 그외의 다른 어떠한 요소도 허용하지 않는다. 모든 메서드는 public이다. 인터페이스는 기본 설계도라 할 수 있다. 객체지향의 핵심인 다형성을 적극적으로 활용할 수 있게 해주는 요소다. 정의하는 방법은 아래와 같다. interface 인터페이스이름{ public static final 타입 상수이름 = 값; public abstract 메서드이름(매개변수목록); } 인터페.. 개발/Java 2022. 5. 22. 자바 패키지 (Java Package) 백기선님이 과거에 진행했던 Java 스터디 7주차 스터디 입니다. Package 키워드 이전에 패키지에 관한 내용을 적은 포스팅이 있다. 아래 링크에서 확인할 수 있다. https://devdebin.tistory.com/101?category=1004578 package(패키지) package, 즉 패키지란 클래스의 묶음이다. 패키지에는 클래스 또는 인터페이스를 포함시킬 수 있다. 또한 서로 관련된 클래스를 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있다 devdebin.tistory.com Package, 패키지를 정리하자면 패키지란, 클래스의 묶음이다. 사실 클래스의 실제 이름은 패키지명을 포함한다. java.lang.String이 String 클래스의 원래 이름이다. 하나의 소스파.. 개발/Java 2022. 5. 20. Java 상속 (extends) 백기선님이 과거에 진행했던 Java 스터디 6주차 스터디 입니다. 자바 상속의 특징 상속이란 무엇인가? 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 기존 클래스를 상속 받아 새로운 클래스를 만들면, 코드를 공통적으로 관리하므로 코드의 추가 및 변경이 매우 용이하다. 결국 코드의 재사용성을 높이고 코드의 중복을 제거해 프로그램의 생산성과 유지보수에 크게 기여한다. 자바 상속은 extends 키워드를 사용해 상속을 진행한다. 상속해주는 클래스를 흔히 '조상 클래스' 상속 받는 클래스를 '자손 클래스'라고 칭한다. class Child extends Parent { } 이제 자바 상속의 특징에 대해 간단히 정리해보자. 생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다. 자손 .. 개발/Java 2022. 5. 20. Java Class 백기선님이 과거에 진행했던 Java 스터디 5주차 스터디 입니다. 클래스 정의하는 방법 클래스를 정의하는 방법을 알기 위해서는 클래스에 대해 알아야한다. 아래는 클래스, 객체, 인스턴스에 대한 내용을 정리한 포스팅이다. https://devdebin.tistory.com/93?category=1004578 클래스, 객체 , 인스턴스 클래스란? 객체를 정의해 놓은 것. 객체의 설계도 또는 틀이다. 객체를 생성하는 데 사용하지만, 객체 그 자체는 아니다. 기능(메서드)과 속성(필드)을 가진다. 객체란? 우리가 주변에서 볼 수 있 devdebin.tistory.com 필자가 정리한 클래스의 의미는 '객체(인스턴스)를 생성하기 위한 설계도'이다. 클래스를 정의하기 위해서는 다양한 고려 사항이 있다. 클래스명 멤.. 개발/Java 2022. 5. 20. JUnit 5 기초 학습과 Stack, 큐 구현 및 테스트 백기선님이 과거에 진행했던 Java 스터디 4주차 스터디 입니다. JUnit5이란 자바 개발자가 가장 많이 사용하는 테스팅 프레임워크가 JUnit이다. 단위 테스트를 작성하는 자바 개발자 93% JUnit을 사용한다. JUnit5의 구조는 아래와 같다. Platform: 테스트를 실행해주는 런처(ide가 JUnit Platform을 지원한다) 제공. TestEngine API 제공. Jupiter: TestEngine API 구현체로 JUnit 5를 제공. 우리는 Jupiter을 사용해 테스트를 진행한다. Vintage: JUnit 4와 3을 지원하는 TestEngine 구현체. JUnit5 시작 본인은 gradle 프로젝트에서 진행했으므로 build.gradle 파일에 아래와 같은 의존성을 추가한다. .. 개발/Java 2022. 5. 18. 제어문(조건문과 반복문) 백기선님이 과거에 진행했던 Java 스터디 4주차 스터디 입니다. 조건문 If if문은 가장 기본적인 조건문이다. 크게 조건식과 괄호로 이루어진다. 만일(if) 조건식이 참(true)이면 괄호{ } 안의 문장들을 수행한다. if (조건식) { //조건식이 true일 때 수행될 코드를 작성한다. } If - else if문에 else블럭이 추가된 것이 if-else문이다. else의 뜻이 '그 밖의 다른'이므로 조건식의 결과가 참이 아닐 때, 즉 거짓일 때 else블럭의 문장을 수행하라는 뜻이다. if (조건식) { //조건식이 true일 때 수행될 코드를 작성한다. } else { //조건식이 false일 때 수행될 코드를 작성한다. } if - else if 첫 번째 조건식부터 순서대로 평가해서 결과가.. 개발/Java 2022. 5. 17. 자바 연산자 (Operator) 백기선님이 과거에 진행했던 Java 스터디 3주차 스터디 입니다. 산술 연산자 산술 연산자에는 사칙 연산자(+ ,- ,* ,/ )와 나머지 연산자(%)가 있다. 곱셈, 나눗셈, 나머지 연산자가 덧셈, 뺄셈 연산자보다 우선 순위가 높으므로 먼저 처리된다. 피연산자(연산자가 아닌 것, ex 1, 10)가 정수형인 경우, 나누는 수로 0을 사용할 수 없다. boolean 타입을 제외한 모든 기본형 타입에서 사용이 가능하다. 계산하는 값의 결과가 변수의 타입의 범위를 넘어서면 오버 플로우가 발생할 수 있다. 코드 예제 byte a = 10; byte b = 10; byte c = (byte) a + b; //JVM은 기본적으로 32바이트로 계산하므로 a와 b 두 개의 피연산자들을 int형으로 바꾸어 계산한다. .. 개발/Java 2022. 5. 13. 자바 데이터 타입, 변수 그리고 배열 백기선님이 과거에 진행했던 Java 스터디 2주차 스터디 입니다. 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입을 기본형이라고 부르겠다. 자바에는 총 8가지의 기본형이 있다. 우선 기본형은 NULL을 가질 수 없다. 만약 NULL을 쓴다면 Wrapper 클래스를 사용해야 한다. 기본형 변수는 메모리에서 스택 영역에 저장된다. 기본형 분류, 타입 메모리 크기, 기본 값, 범위에 대해 아래와 같이 정리했다. 분류 타입 메모리 크기 기본 값 범위 논리형 boolean 1 byte false false, true 문지형 char 2 byte '\u000' '\u0000' ~ '\uffff' 정수형 byte 1byte 0 -128 ~ 127 short 2byte 0 -32,768 ~ 32,76.. 개발/Java 2022. 5. 12. Java JVM, ByteCode 백기선님이 과거에 진행했던 Java 스터디 1주차 스터디 입니다. 늦었지만 저는 이제 시작해보겠습니다. 1. JVM이란 무엇인가? JVM이란 'Java Virtual Machine'의 약어다. 자바를 실행하기 위한 가상 머신(컴퓨터)이라고 이해할 수 있다. 자바로 작성된 모든 프로그램은 JVM 위에서만 실행된다. 따라서 자바 프로그램을 작동시키기 위해서 JVM은 필수적이다. 일반 애플리케이션의 코드는 OS만 거치고 하드웨어로 전달된다. 그러나 Java 애플리케이션은 JVM을 한 번 더 거치기 때문에, 그리고 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행시에 해석(Interpret)되기 때문에 속도가 느리다는 단점을 가진다. 그러나 요즘엔 바이트코드(컴파일된 자바 코드)를 하드웨어의 기계어로 바로 변.. 개발/Java 2022. 5. 12. Spring MVC 2편 - API 예외 처리 (@ControllerAdvice, ExceptionHandler) 본 게시글은 인프런 김영한 선생님 강의 스프링 MVC 2편을 완강하고 배운 것을 남기고자 적은 포스팅입니다. 강의 링크는 아래와 같습니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2/dashboard 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 본격적으로 시작하겠습니다. SSR(서버 사이드 렌더링, 템플릿 엔진)에서는 4xx, 5xx 같은 오류 페이지만 있으면 예외 처리를 할 수.. 개발/Spring MVC 2022. 5. 11. 선택위젯(어댑터뷰(AdapterView)) 선택위젯 안드로이드에서 여러 아이템 중의 하나를 선택하는 위젯을 선택 위젯이라 부른다. 배열이나 파일, 데이터베이스에 저장된 데이터를 화면에 리스트 형식으로 표시할 때 사용한다. 선택 위젯에 데이터를 공급하고 관리하는 클래스는 어댑터(Adapter) 클래스다. 선택 위젯은 어댑터에서 데이터를 관리하고, 화면에 보이는 아이텀 뷰(UI)도 어댑터에서 만들어 제공한다. 선택 위젯에는 리스트 뷰, 리사이클러뷰, 스피너, 뷰페이저 등이 있다 선택 위젯은 한 위젯 안에서 여러 개의 데이터를 보여주고 그 중 하나를 선택할 때 원하는 기능을 실행할 수 있는 위젯이다. 선택 위젯에 들어있는 하나 하나의 뷰를 '아이템'이라 부르는데, 이 '아이템'을 위한 데이터는 '어댑터'에서 관리한다. 어댑터 (Adapter) 어댑터의.. 개발/Android 2022. 4. 25. 이전 1 ··· 3 4 5 6 7 8 9 ··· 12 다음 반응형