Programming/Java 기초

    디자인 패턴과 종류

    목차 영상 참고하면 이해가 더 쉬울지도1 영상 참고하면 이해가 더 쉬울지도2 1. 디자인 패턴 1.1. 디자인 패턴이란? 소프트웨어 디자인에서 계속 재현되는 문제를 해결하는 재사용 가능한 해결법 객체지향 프로그래밍에서 공통으로 디자인 문제를 찾아내고 해결하는 가이드라인 특정 유형의 프로그래밍 문제를 해결하는 방식을 제공해주는 역할 알고리즘과 같이 프로그램 코드로 바로 변환될 수 있는 형태는 아니지만, 특정 상황에서 구조적인 문제를 해결하는 방식을 설명한다. 1.2. 디자인 패턴의 장점 및 필요성 개발자의 경험을 모아 공통적인 소프트웨어 디자인 문제를 해결하는 데 도움이 됨 디자인 패턴 : '교육의 도구', '프로그래밍의 필수적인 부분'이라고 할 수 있다. 디자인 문제와 그 해결책을 찾을 때, 디자인 패턴..

    JAVA Basic) 자바 입출력 - 연습 문제

    목차 Q1. 자바에서 입출력 기능을 스트림 클래스로 제공하는 이유는 무엇인가? [ ] Q2. 바이트로 읽어 들인 자료를 문자로 변환해 주는 스트림은 [ ]이다. Q3. FileOutputStream과 OutputStreamWriter를 활용해 a.txt 파일에 다음처럼 출력해 보자. 출력문 지금까지 자바 정말 재미있게 공부했어요^^ Q4. 다른 스트림을 감싸서 부가 기능을 제공하는 스트림은 [ ]이다. Q5. 인스턴스 내용을 그대로 저장하거나 네트워크로 전송할 수 있도록 연속된 바이트로 만들고 이를 복원하는 기술은 [ ]라고 한다. Q6. Q5의 기술을 구현하기 위해 자바에서 사용하는 두 가지 인터페이스는 [ ] [ ]이다. 정답: Q1 : 입출력 기능을 추상화해 클래스로 제공함, 여러 장치에 독립적으로..

    JAVA Basic) 자바 입출력

    목차 대부분의 프로그램은 자료를 입력받는 기능과 저장하거나 쓰는 출력 기능을 구현한다. 음악, 동영상 파일을 재생하는 것도 입출력 기능에 해당되며, 채팅을 하고 SNS에 글, 사진을 피드하는 것도 입출력 기능으로 구현된다. 입출력은 프로그램의 가장 기본 기능이지만, 외부 저장 장치나 네트워크와 연동해야 하기 때문에 장치에 따라 다르게 구현해야 한다. 자바는 장치에 따라 독립적이고 효율적인 입출력 기능을 제공한다. 스트림이란? 자바에서 모든 입출력은 스트림(Stream)을 통해 이루어진다. 자료 흐름이 물의 흐름과 같다는 의미에서 사용되었다. 입출력 장치는 매우 다양하여 장치에 따라 입출력 부분을 일일이 다르게 구현하면 프로그램 호환성이 떨어질 수 밖에 없다. 이런 문제를 해결하기 위해 자바는 입출력 장치..

    JAVA Basic) 예외 처리 - 연습 문제

    JAVA Basic) 예외 처리 목차 소프트웨어를 사용하다 보면 여러 상황의 오류를 마주하게 된다. 잘 접속되던 사이트가 접속이 안된다거나, 스마트폰 앱이 갑자기 종료되는 경우가 그런 경우. 아무리 잘 만든 montoo.tistory.com 목차 Q1. 모든 예외 클래스의 최상위 클래스는 [ ]이다. Q2. try{}블록이 수행되면 항상 수행되는 블록으로서 주로 열린 파일이나 네트워크 리소스의 해제를 수행하는 블록을 구현하는 예약어는 [ ]이다. Q3. 예외 처리를 위해 try-catch 문장을 사용할 수도 있지만, 예외를 직접 처리하지 않고 미룰 때 사용하는 예약어는 [ ]이다. Q4. 사용자가 예외를 직접 발생시키기 위해 사용하는 예약어는 [ ]이다. 정답: Q1: Exception 클래스 Q2: f..

    JAVA Basic) 예외 처리

    목차 소프트웨어를 사용하다 보면 여러 상황의 오류를 마주하게 된다. 잘 접속되던 사이트가 접속이 안된다거나, 스마트폰 앱이 갑자기 종료되는 경우가 그런 경우. 아무리 잘 만든 소프트웨어라도 이런 상황은 언제든 발생할 수 있는데, 이런 오류가 발생해도 갑자기 종료되는 상황이 일어나지 않도록 '예외 처리' 방법에 대해 알아보자. 오류란? 프로그램에서 오류가 발생하는 상황은 두 가지다. 프로그램 코드 작성 중 실수로 발생하는 '컴파일 오류(compile error)' 실행 중인 프로그램이 의도하지 않은 동작을 하거나, 프로그램이 중지되는 '실행 오류(runtime error)' 실행 오류 중 프로그램을 잘못 구현하여 의도한 바와 다르게 실행되어 생기는 오류를 '버그(bug)'라고 한다. '컴파일 오류'는 개발..

    JAVA Basic) 내부 클래스 - 연습문제

    목차 Q1. 지역 내부 클래스에서 외부 클래스 메서드의 지역 변수를 사용할 수 있지만, 그 값을 변경하면 오류가 발생한다. 이때 사용하는 지역 변수는 [ ]변수가 되기 때문이다. Q2. 내부 클래스 중 클래스 이름 없이 인터페이스나 추상 클래스 자료형에 직접 대입하여 생성하는 클래스를 [ ]라고 한다. Q3. 자바에서 제공하는 함수형 프로그래밍 방식으로 인터페이스의 메서드를 직접 구현하는 코드를 [ ]이라고 한다. Q4. 람다식으로 구현할 수 있는 인터페이스는 메서드를 하나만 가져야 한다. 이러한 인터페이스를 [ ]라고 한다. Q5. 다음과 같이 두 정수를 매개변수로 하는 메서드가 인터페이스에 정의되어 있다. 두 정수의 합을 반환하는 람다식을 구현하고 호출해보자. package lambda; public..

    JAVA Basic) 내부 클래스 - 스트림

    먼저 내부 클래스와 람다식에 대한 이해가 필요한 내용입니다. JAVA Basic) 내부 클래스 목차 '내부 클래스(inner class)'는 말 그대로 '클래스 내부에 선언한 클래스'다. 내부에 클래스를 선언하는 이유는 대개 이 클래스와 외부 클래스가 밀접한 관련이 있기 montoo.tistory.com JAVA Basic) 내부 클래스 - 람다식 먼저 내부 클래스에 대한 이해가 필요한 내용입니다. '내부 클래스(inner class)'는 말 그대로 '클래스 내부에 선언한 클래스'다. 내부에 클래스를 선언하는 이유는 대개 이 클래스와 외부 클래스가 montoo.tistory.com 목차 자료가 모여있는 배열이나 컬렉션 또는 특정 범위 안에 있는 일련의 숫자를 처리하는 기능이 미리 구현되어 있다면 프로그램..

    JAVA Basic) 내부 클래스 - 람다식

    먼저 내부 클래스에 대한 이해가 필요한 내용입니다. JAVA basic) 내부 클래스 목차 '내부 클래스(inner class)'는 말 그대로 '클래스 내부에 선언한 클래스'다. 내부에 클래스를 선언하는 이유는 대개 이 클래스와 외부 클래스가 밀접한 관련이 있기 montoo.tistory.com 목차 자바는 객체를 기반으로 프로그램을 구현한다. 만약 어떤 기능이 필요하다면 클래스를 먼저 만들고, 클래스 안에 기능을 구현한 메서드를 만든 후 그 메서드를 호출해야 한다. 다시 말해 클래스가 없다면 메서드를 사용 할 수 없다. 그런데 프로그래밍 언어 중에는 함수의 구현과 호출만으로 프로그램을 만들 수 있는 프로그래밍 방식이 있다. 이를 '함수형 프로그래밍(Functional Programming : FP)'이..

    JAVA Basic) 내부 클래스

    목차 '내부 클래스(inner class)'는 말 그대로 '클래스 내부에 선언한 클래스'다. 내부에 클래스를 선언하는 이유는 대개 이 클래스와 외부 클래스가 밀접한 관련이 있기 때문. 또한 그 밖의 다른 클래스와 협력할 일이 없는 경우에 내부 클래스로 선언해서 사용한다. 내부 클래스를 간단히 표현하면 아래 그림과 같다. 내부 클래스는 선언하는 위치나 예약어에 따라 크게 네가지 유형으로 나누어진다. 인스턴스 내부 클래스 정적(static) 내부 클래스 지역(local) 내부 클래스 먼저 위 세 가지는 클래스 내부에 선언하는 변수의 유형(인스턴스, 저억, 지역 변수)과 유사하다. 마지막으로 클래스 이름 없이 선언하고 바로 생성하여 사용할 수 있는 익명(anonymous) 내부 클래스 가 있다. 그럼 변수 유..

    JAVA Basic) 컬렉션 프레임워크 - 연습 문제

    관련된 포스팅 JAVA Basic) 제네릭(Generic) 목차 프로그램에서 변수를 선언할 때, 메서드에서 매개 변수를 사용할 때도 모든 변수는 자료형이 있다. 대부분은 하나의 자료형으로 구현하지만, 변수나 메서드의 자료형을 필요에 montoo.tistory.com JAVA Basic) 컬렉션 프레임워크 목차 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯, 프로그램 개발도 사용하는 자료를 어떤 구조로 관리할 것인지가 중요하기 montoo.tistory.com JAVA Basic) 컬렉션 프레임워크 - List 인터페이스 '컬렉션 프레임워크'가 뭔지 모른다면, 아래 포스트부터 확인할 것 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯..

    JAVA Basic) 컬렉션 프레임워크 - Map 인터페이스

    컬렉션 프레임워크의 배경 지식은 이전 포스트를 참고하시길 바랍니다. JAVA Basic) 컬렉션 프레임워크 목차 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯, 프로그램 개발도 사용하는 자료를 어떤 구조로 관리할 것인지가 중요하기 montoo.tistory.com JAVA Basic) 컬렉션 프레임워크 - List 인터페이스 '컬렉션 프레임워크'가 뭔지 모른다면, 아래 포스트부터 확인할 것 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯, 프로그램 개발도 사용하는 자료를 어 montoo.tistory.com JAVA Basic) 컬렉션 프레임워크 - Set 인터페이스 이해가 되지 않을 경우 이전 포스팅을 참고하세요. 2021.10...

    JAVA Basic) 컬렉션 프레임워크 - Set 인터페이스

    이해가 되지 않을 경우 이전 포스팅을 참고하세요. 2021.10.05 - [Programming/JAVA 기초] - JAVA Basic) 컬렉션 프레임워크 JAVA Basic) 컬렉션 프레임워크 목차 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯, 프로그램 개발도 사용하는 자료를 어떤 구조로 관리할 것인지가 중요하기 montoo.tistory.com 2021.10.06 - [Programming/JAVA 기초] - JAVA Basic) 컬렉션 프레임워크 - List 인터페이스 JAVA Basic) 컬렉션 프레임워크 - List 인터페이스 '컬렉션 프레임워크'가 뭔지 모른다면, 아래 포스트부터 확인할 것 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구..