본문 바로가기

💾 Backend/자바16

💗바이트 단위 스트림/문자 단위 스트림💗 💗 바이트 단위 스트림 💗 ❣️InputStream❣️ 바이트 단위로 읽는 스트림 중 최상위 스트림 하위 스트림 클래스 FileInputStream 파일에서 / 바이트 단위로 / 자료를 읽음 ByteArrayInputStream Byte 배열 메모리에서/ 바이트 단위로 / 자료를 읽음 FilterInputStream 추가 기능을 제공하는 보조 스트림의 상위 클래스 inputStream 메서드 int read() 입력 스트림으로부터 /한 바이트의 자료를 읽고 /바이트의 수를 반환 (int 반환형인 이유 / 파일이 끝나면 -1 반환) int read(byte[] b) 입력 스트림으로부터 /b[]크기의 자료를 읽고 /읽은 자료와 바이트의 수를 반환 int read(byte[] b, int off, int le.. 2023. 7. 6.
💖자바 입출력💖 💖 스트림💖 입출력 장치는 다양(파일 디스크/모니터/네트워크 등) 입출력 장치들과 무관하게 프로그램을 구현할 수 있도로그 다양한 가상통로인 스트림 제공. 읽을 대상과 출력할 대상에 따라 각각 다른 스트림 클래스 존재 ❣️ 스트림구분 - 입력 / 출력❣️ 스트림은 단방향이므로, 입력과 출력 스트림이 나뉘어져 있음 ❣️입력 스트림 InputStream / Reader 로 끝남 FileInputStream , FileReader, BufferedInputStream, BufferedReader ❣️출력 스트림 OutputStream / Writer로 끝남 FileOutputStream , FileWriter, BufferedOutputStream, BufferedWriter ❣️ 스트림구분 - 바이트단위 / .. 2023. 6. 30.
💖자바 람다식💖 자바는 클래스 안에 기능을 구현한 메서드를 만든 후 클래스를 생성해 메소드를 호출해야 함. 함수의 구현과 호출만으로 프로그램을 만들 수 있는 방식인 함수형 프로그래밍(함수 외부에 있는 변수를 사용하지 않아 외부영향X,안정,확장성 있음) 자바에서 제공하는 " 함수형 프로그래밍" ❣️람다식❣️ 함수 이름이 없는 익명 함수 만들기 (매개변수) -> {실행문;} ex) int add(int a, int b){ return a+ b; } // 람다식 체인지 (int a , int b) -> {return x+y;} + 매개변수 자료형 생략 가능 (x,y) -> {return x+y;} + 매개변수 하나인 경우 괄호 생략 가능 nlist -> {System.out.println(nlist);} + 중괄호.. 2023. 6. 27.
💞Static 정적 멤버💞 💞Static 멤버💞 클래스당 하나만 생성 (= 클래스 멤버라고도 함) 동일한 클래스의 모든 객체들이 공유함 main 메소드가 실행되기 전에 먼저 생성됨 프로그램이 종료될 때 사라짐 객체를 생성하지 않고도 사용할 수 있는 멤버 💞non - Static 멤버💞 객체가 생길 때 객체마다 생김( = 인스턴스 멤버라고도 함) 다른 객체들과 공유하지 않음 객체가 사라지면 같이 소멸 💞Static 멤버의 생성💞 1. 객체 생성 후 사용 정적멤버있는클래스 인스턴스 = new 정적멤버있는클래스(); 인스턴스.static멤버; //로 사용 인스턴스.static메소드; //로 사용 일반 멤버 (non static 멤버, 인스턴스 멤버) 와 동일하게 사용 가능 2. 클래스명으로 바로 클래스이름.static멤버; //로 사용.. 2023. 6. 10.
💞모듈/패키지💞 모듈 / 패키지 / 클래스 패키지 : 서로 관련 있는 클래스나 인터페이스의 컴파일된 클래스 파일들을 한 곳에 묶어 놓은 것 하나의 패키지는 관련된 클래스 파일들이 들어 있는 디렉토리(폴더) 모듈 : 패키지들을 묶은 것 / 패키지들을 담는 컨테이너 자바에서는 100개에 가까운 모듈 제공 모듈 파일(.jmod)로 저장 자바 컴포넌트들을 필요에 따라 조립하기 위함 java. base 모듈 안에 io , lang, util 등의 패키지들 안에 Scanner 등 클래스들 java.util.Scanner //패키지명// // 클래스명(경로) // //클래스 지칭 시 모듈명은 사용하지 않음 어떤 패키지의 클래스 사용 1번 패키지명을 포함하는 경로 작성하기 java.패키지명.클래스명 java.util.Scanner 2.. 2023. 6. 9.
💖자바 내부 클래스💖 ❣️내부 클래스❣️ 클래스 내부에 선언한 클래스 class 외부클래스{ class 내부클래스 { } } 💌 인스턴스 내부 클래스 인스턴스 변수를 선언할 떄와 같은 위치에 선언 외부 클래스 내부에서만 생성하여 사용하는 객체를 선언할 때 사용 (다른 외부 클래스에서 사용할 일이 없을 때) 인스턴스 외부 클래스 생성 후 인스턴스 내부 클래스 생성됨 (외부 클래스 생성 전 사용 불가) class 외부클래스{ private 내부클래스 내클; public 외부클래스(){ 내클 = new 내부클래스(); } class 내부클래스 { } public void 내부클래스사용(){ 내부클래스.안에든거사용; } } 외부 클래스의 private 멤버 내부 클래스에서도 사용 가능 내부 클래스 내부에 정적 변수/메서드 사용 불가.. 2023. 6. 2.
💖자바 스트림💖 ❣️스트림이란? 여러 자료의 처리에 대한 기능을 구현해 놓은 클래스 ❣️스트림 특징 💌 자료의 대상과 관계없이 동일한 연산을 수행한다. 💌 한번 생성하고 사용한 스트림은 재사용할 수 없다. 💌 스트림의 연산은 기존 연산은 기존 자료를 변경하지 않는다. 💌 스트림의 연산은 중간 연산과 최종 연산이 있다. ❣️스트림 연산 💌중간 연산 자료를 거르거나 변경하여 또 다른 자료를 내부적으로 생산함 몇개 연속 ok ♥️filter() 조건이 참인 경우 추출 자료구조.stream().filter(s -> 조건).최종연산 //스트림 생성 중간 연산 ♥️map() 클래스가 가진 자료 중 이름만 출력하는 경우 사용 자료구조.stream().map(s -> 조건).최종연산 //스트림 생성 중간 연산 💌최종 연산 생성된 내부.. 2023. 6. 2.
💕자바 탐구 - 배틀게임 제작💕 🕹시나리오 🕹 의인화된 우주 이야기입니다. 태양계 행성들이 무료하게 이어지는 긴 시간을 버티지 못하고 각자의 성질에 따라 두 파벌(지구형 행성 4개, 목성형 행성 4인)로 나뉘어 싸웁니다. 지구형 팀 : 리더 행성 '지구', 팀원 행성 '수성', 행성 '금성', 행성 '화성' 목성형 팀 : 리더 행성 '목성', 팀원 행성 '토성', 행성 '천왕성', 행성 '해왕성' 위성 '달' 은 지구형 행성들의 조력자입니다. 지구팀의 리더 '지구'의 컨디션을 좋게 유지시켜줍니다. 혜성 'C/2022 E3 (ZTF)' 은 목성형 행성들의 조력자입니다. 태양계를 비교적 자유롭게 돌며 정보를 수집합니다. 부모 or 신격인 항성 '태양'은 싸움을 귀엽게 바라보며 이따금씩 관여합니다. 무기 "다이슨 구체" 이용 초거대질량 블랙.. 2023. 5. 28.
💗자바 ArrayList 클래스💗 ❣️ArrayList란 Collection 프레임워크의 List인터페이스의 제너릭 클래스를 배열 형태로 관리할 수 있도록 하는 클래스 순차 자료구조 // import java.util.ArrayList ArrayList arrlist = new ArrayList(); // 기본 ArrayList 이름 = new ArrayList(); //제네릭 =>string, 클래스, Interger 등등 다양하게 가능 ❣️ArrayList 주요 메서드 💌 원소 추가하기 맨 끝에 데이터가 추가 용량을 벗어나 데이터를 추가하는 경우 저장 용량이 늘어나며 데이터가 삽입 boolean add(E e) ArrayList arrlist = new ArrayList(); //string arrlist.add("햄스터"); + 중.. 2023. 5. 26.
💖자바 컬렉션 🎞🚶‍♀️프레임워크💖 🎞컬렉션 프레임워크🎞 java.until.*에서 제공하는 미리 구현한 자료 구조 라이브러리 컬렉션 프레임워크 = Collection 인터페이스 + Map 인터페이스 🎞Collections 클래스 메소드들은 모두 Static 타입 sort() reverse() max(),min() binarySearch() 🎞Collection 인터페이스🎞 하나의 자료를 모아서 관리하는 데 필요한 기능 제공 🎞Collection 인터페이스의 메서드 boolean add(E e) 컬렉션에 객체를 추가. void clear() 컬렉션의 모든 객체 제거 Iterator iterator 컬렉션을 순환할 반복자 반환 boolean remove(Object o) 컬렉션에 매개변수에 해당하는 인스턴스가 존재할 시 제거 int size.. 2023. 5. 24.