java 18

java 기본 용어 간단 정리

★자바 기초용어 모음 ☆접근 제한자 -public: 모든 클래스 어디에서든 접근 가능 -protected: 같은 패키지 내에서 접근 가능 -default: 지정하지 않을 시 기본 제한자 상태로, 같은 패키지내에서만 -private: 같은 클래스에서만 접근 가능하다. ☆static -static 변수: 정적인 변수로 초기값 지정 -static 메소드: static메소드로 생성시 인스턴스화 하지않고서도 호출가능 ☆final -final 변수: #define처럼 상수처럼 지정 -final 메소드: 오버라이드등 확장 불가 -final 클래스: 상속 불가 ☆abstract -abstract class: 추상 클래스로 구현하여 이를 통해서 생성하도록 함 -abstract method: @override등으로 하위에..

java 2024.09.21

java 활용 예시(예외)

package chapter19; /* 예외 처리  cf) 예외: 프로그램 실행 중 발생하는 비정상적인 상황  예외 종류: 체크 이외(컴파일 시점에 검사)/ 언체크 예외(런타임 시점에 발생)  +) 예외 클래스의 계층 구조  Throwable > Error(시스템 레벨 오류) > Exception >>Checked >>Unchecked  1. 예외 처리 구문 try-catch finally  2. 기타 예외 처리 키워드 throws 키워드 - 메소드 선언부에 사용하여 예외를 호출한 메소드로 전파*/ //public void someMethod() throws IOException{}/* throw 키워드 -예외 객체를 명시적으로 발생시키는데에 사용 */ //throw new IOExeption("파일을..

java 2024.09.19

java활용 예시(Lambda 활용 함수)

package chapter19; import java.util.Arrays;import java.util.Collections;import java.util.Comparator;import java.util.List;import java.util.function.Consumer;import java.util.function.Function;import java.util.function.Predicate;import java.util.function.Supplier; /* 람다 표현식 : 자바 8에서 도입된 함수형 프로그래밍 스타일의 표현식 > 익명 함수를 간결하게 표현하는 방법(가독성, 간결성 향상)  람다의 기본 형식 (매개변수) -> {실행할 코드}  lambda 예시 1) 매개변수 반환값이 없는 ..

java 2024.09.19

java 활용 예시 (Builder)

package chapter18; /* 빌더(Builder) : 복잡한 객체 생성을 단순화 하는 패턴 - 객체의 생성자 인수가 많을 때 가독성이 떨어지는 문제를 보완 - 체이닝 방식을 사용하여 가독성 있고 유연한 객체 생성  cf) 디자인 패턴 : 소프트웨어 공학에서 자주 발생하는 문제에 대한 재사용 가능한 해결책 >> 생성, 구조, 행위 패턴 >> 빌더 패턴은 생성 패턴에 포함  1. 빌더 패턴의 구조(구현 단계) : 객체 생성을 담당하는 내부 클래스  2. 필수 속성 설정 : 생성자를 통한 필수 속성을 설정  3. 선택적 속성 설정 : 체이닝 방식으로 선택적 속성을 설정할 수 있는 메소드 추가  4. build 메소드 : 최종적으로 객체를 반환하는 메소드  빌더 패턴의 특징 - 가독성 & 유연성 확장..

java 2024.09.19

java활용 예시(Stream)

package chapter16; import java.util.Arrays;import java.util.List;import java.util.stream.Collector;import java.util.stream.Collectors;import java.util.stream.Stream; /* 스트림 API : 컬렉션 데이터를 효율적으로 처리할 수 있는 기능을 제공 >> 람다 표현식과 결합하여 직관적이며 간결한 코드 작성  cf) Arrays.asList(); : 일반 배열을 ArrayList로 반환 >> 원소를 추가하는 메소드를 가지고 있지 X, 사이즈를 바꿀 수 없다  >> java.util.ArrayList와 다른 클래스 */ /* 특징 - 컬렉션 데이터를 간결하고 효율적으로 처리 - 데이터..

java 2024.09.13

java활용 예시(lambda expression)

package chapter16; import java.util.ArrayList; import java.util.Comparator; //비교 import java.util.List; /*   Lambda Expression   : 함수형 인터페이스 구현에 사용, 자바 8에서 도입된 기능   >> 간결성, 함수형 프로그래밍 지원등의 특징   >> 익명 클래스를 대체하여 코드의 가독성 향상에 기여     = 기본 형태 =   (매개 변수1, 매개 변수2, ...)-> {실행할 코드}     매개변수: 함수형 인터페이스에서 메소드와 동일한 매개변수를 사용   화살표: 매개변수와 실행할 코드의 구분   코드 블록: 중괄호 영역    cf) 단일 표현식인 경우 중괄호 생략 가능  */ class Student..

java 2024.09.13

java 활용 예시(내부 클래스)

package chapter16; /* 내부 클래스 : 다른 클래스 내부에 선언된 클래스를 의미  장점 : 코드의 가독성 향상 - 코드의 구조 파악에 용의 : 클래스 간의 관계를 명확하게 함 - 내부 클래스는 외부 클래스의 멤버에 쉽게 접근 가능  =종류= 1. 비정적 내부 클래스(가장 기본적인 클래스 형태) : 외부 클래스의 인스턴스에 속함 >> 외부 클래스의 인스턴스 변수 및 메소드에 직접 접근이 가능하다.  2. 정적 내부 클래스 : "외부 클래스의 정적 멤버", 외부 클래스의 인스턴스 변수에 접근할 수 없다. >> 외부 클래스의 정적 멤버에만 접근 가능 >> new 생성자 초기화가 가능  3. 메소드 내부 클래스(지역 클래스) : 메소드 내에 정의된 내부 클래스, 해당 메소드 내에서만 사용 가능 ..

java 2024.09.13

java활용 예시(MVC 패턴)

요구 분석// 도서관리 시스템  // == 요구 사항 분석 == // 1. 새 도서 추가 // 2. 모든 도서 정보 출력 // 3. 도서 검색(도서 제목으로 검색)  // Model (도서 정보를 담당) // : Book 클래스 (도서 정보- 도서 제목, 저자, 출판사)  // View (사용자 인터페이스 UI를 담당) // : BookView 클래스 // : (사용자의 입력을 받아, Controller에게 전달 & Controller에서 받은 정보를 출력)  // Controller( 사용자의 입력을 받아 Model과 View 사이에서 중재) // : BookController클래스 // (사용자의 입력에 따라 적절한 Model메소드를 호출) Modelpackage chapter12.model; // ..

java 2024.09.10

java 활용 예시(Collection- Set)

package chapter11; import java.util.HashSet;import java.util.Set; /* == Set 인터페이스 == : 중복된 요소를 포함하지 않는 객체의 집합 >> 객체의 저장 순서를 저장하지 않는다.(삽입 순서 유지 X) >> null 요소 포함 가능  == Set 컬렉션 종류 == 1. HashSet : 가장 많이 사용되는 Set 구현체, 빠른 성능을 제공 >> 삽입 순서나 요소의 정렬 상태를 보장 X  2. linkedHashSet : HashSet에서 순서를 추가한 형태 >> 요소를 삽입 순서대로 유지  3. TreeSet : 정렬된 순서대로 요소를 유지 >> 요소의 순서가 중요하거나 정렬 상태를 유지해야 할 때 사용 >> 자동 정렬 */ public clas..

java 2024.09.10

java 활용 예시(Collection- List)

package chapter11; import java.util.ArrayList;import java.util.LinkedList; // ! List 인터페이스// : 데이터를 "순차적"으로 저장하고 접근하는데 사용하는 메서드를 정의// : 데이터의 "중복 저장"을 허용, 저장된 순서에 따라 데이터를 관리 // ! List 특징// - 요소의 인덱스를 통한 정확한 위치 지정// - 요소의 중복 허용// - 다양한 구현체를 통해 사용 가능 // === List 인터페이스 구현 클래스 === // == ArrayList: 내부적으로 배열을 사용하여 데이터를 관리 == // 1. 동적 크기를 조절// - 요소가 추가되거나 제거될 때 자동으로 크기를 조절// 2. 인덱스 기반 접근// - 특정 위치의 데이터를..

java 2024.09.10