728x90

Java 36

Java, 함수형 프로그래밍 / 람다식

함수형 프로그래밍이란?  함수를 정의하고 이 함수를 데이터 처리부로 보내 데이터를 처리하는 기법을 말한다. 데이터 처리부는 데이터만 가지고 있을 뿐, 처리 방법이 정해져 있지 않아 외부에서 제공된 함수에 의존한다. 람다식  자바는 함수형 프로그래밍을 위해 Java 8부터 람다식을 지원한다. 데이터 처리부는 람다식을 받아 매개변수에 데이터를 대입하고 중괄호를 실행시킨다. 자바는 람다식을 익명 구현 객체로 변환한다. 인터페이스의 익명 구현 객체를 람다식으로 표현하려면 반드시 하나의 추상메소드만 가져야 한다. 인터페이스가 단 하나의 추상메소드를 가질 때, 이를 함수형 인터페이스 라고 한다. 인터페이스가 함수형 인터페이스임을 보장하기 위해서는 @FunctionalInterface 어노테이션을 붙이면 된다.   ..

Java 2024.08.05

Java, 스레드, 동기화처리, 싱글톤

프로세스  현재 실행중인 프로그램  멀티프로세스(멀티캐스킹) 하나의 cpu에 여러 개의 응용프로그램을 동시에 실행  시분할 시스템  0.2초의 간격으로 짤라서 실행된다. 공격과 방어가 동시에 일어나야한다.  스래드(Thread)  프로그램을 단위 단위로 짤라놓은 것  1. 단위 프로그램 2. main 메소드도 하나의 스레드이다. 3. 스레드 종료하려면 run()를 벗어나면 된다. 멀티스레드  하나의 프로그램에서 여러 개의 스레드를 동시에 수행하는 것을 의미 cpu가 왔다 갔다 거리면서 두개 이상의 프로그램을 동시에 볼 수 있게 한다. 스레드 생성방법1) Thread 클래스로 상속 2) Runnable 인터페이스 이용  스레드 처리  스레드 생성 --> Thread 변수명 = new Thread();↓ ..

Java 2024.08.05

Java, io Stream(InputStream, OutputStream)

객체 직렬화 객체는 파일이나 네트워크로 전송이 안된다.객체는 절대 보낼 수 없고 문자열만 간다.따라서, 객체를 byte[] 단위로 (쪼개서) 변환시켜서 전송해야 한다.쪼갠 상태에서 받지는 않고 묶어서 받게 된다.가는 동안만에만 쪼개져 가고 도착했을때는 다시 객체로 묶어준다.(자바에서 알아서 수행함)-> Serializable만 선언해주면 된다. io Stream 데이터가 흘러가는 길을 만든다. Application을 중심으로 받는 쪽, 보내는 쪽이 정해진다. 받는 쪽 보내는 쪽 --> 출력 --> 파일 단위 1. byte 단위 처리(숫자, 영문자) - byte 스트림InputStreamOutputStream byte => 8bit / 영문자 1자 => 1byte , 한글 1자 => 2byte한글이 훨씬 ..

Java 2024.08.05

Java, 캘린더 일정 관리 프로그램

Java Project 주제 일정관리 프로그램 핵심 기능, 요구사항 1. 회원가입, 로그인을 통해 각 회원마다 일정을 저장 할 수 있도록 만든다.2. 로그인을 실행하면 오늘 날짜를 자동으로 인식하여 해당 월의 달력을 출력한다.3-1. 달력에서 일정이 있는 날은 몇개의 일정이 있는지 해당 날짜 바로 아래쪽에 표시한다.3-2. 일정 중 가장 첫번째로 등록한 일정의 내용을 일부만 표시한다.4. 일정의 등록, 검색, 변경 기능을 수행한다.5-1. 같은 날짜에 여러 입력시 번호로 구분한다.5-2. 삭제, 이동, 등록 시 자동으로 일정의 번호도 변경한다.  DB 설계  예상 실행 화면  프로젝트 기간 2024-08-01 ~ 2024-08-05 담당 달력 출력, 일정 날짜 변경, DAO, DTO, DB 설계

프로젝트 2024.08.02

Java, Lombok 설치하기 / 어노테이션 사용방법

Lombok Java 라이브러리로 반복되는 getter, setter, toString등의 메서드 작성 코드를 줄여주는 라이브러리 이다.  Lombok 설치하기 1. 이클립스 종료 2. projectlombok.org 에서 Lombok 다운로드 3. 원하는 파일 위치에 저장파일 경로에는 한글, 공백이 있어서는 안된다. 4.  터미널 창 열기 파일을 저장한 곳에서 마우스 오른쪽 클릭 후 터미널 창 열기 그러면 바로 파일이 있는 위치로 터미널이 세팅된다. 5. 다운로드 시작> java -jar .\lombok.jar 6. 설치하기다운로드 되면 아래 창이 나오는데 위치를 eclipse.exe로 설정 7. Quit Installer 클릭Lombok 설치하기 설치완료설치확인 1. eclipse.ini 파일 열기(..

환경설정/Java 2024.07.25

Oracle, hr 계정 생성하기 / 연습 스키마 만들기

hr 계정 생성하기 오라클 18c 버전 이후에는 연습용 스키마가 따로 분리되어 있어서 따로 설치해야한다.반드시 관리자 계정(system)에서 설치 1. 명령 프로토콜 [ 관리자 권한 ] 으로 실행 2. 스키마 다운로드https://github.com/oracle-samples/db-sample-schemas/releases Releases · oracle-samples/db-sample-schemasOracle Database Sample Schemas. Contribute to oracle-samples/db-sample-schemas development by creating an account on GitHub.github.com db-sample-schemas-21.1.zip 다운로드 3. 압축 ..

환경설정/Oracle 2024.07.25

Oracle Express 21c 설치 / sqldeveloper 설치

데이터베이스(Database) 서로 관련되는 데이터들을 일정한 체계와 순서로 모아 놓은 데이터의 집합 DBMS(Data Base Management System) 데이터 베이스 관리 시스템은 데이터 베이스를 관리하는 소프트웨어를 의미한다. 종류 Oracle, MySql, ...Oracle Express 21c 설치하기 1. 설치하기https://www.oracle.com/kr/database/technologies/xe-downloads.html Oracle Database Express Edition (XE) Downloads | Oracle 대한민국Support Oracle Database Express Edition (XE) is a community supported edition of the O..

환경설정/Oracle 2024.07.25

Java, Iterator ( hasNext(), next(), remove() )

Iterator 이터레이터는 컬렉션에 저장된 요소들을 순차적으로 읽어오기 위해서 사용한다. Iterator() 메서드 hasNext()항목이 있으면 true, 없으면 false를 리턴한다. next()항목을 꺼내 버퍼(임시기억장치)에 보관하고 다음으로 이동한다.항목을 꺼내고 버퍼에 기억시키기만 하고 다음으로 이동하는 것이지 그 항목을 삭제하는 것은 아니다. Collection coll = new ArrayList();coll.add("호랑이");coll.add("사자");Iterator it = coll.iterator();while(it.hasNext()) { System.out.println(it.next());}  it이 항목이 있을 때까지 while문 돌린다. it.next() => 항목을 ..

Java 2024.07.23

Java, interface(is~a 관계) / 익명 inner class

interface 표준명세서의 역할을 한다.interface안에는 상수와 추상 메소드만 존재하기 때문에public static final과 abstract는 생략이 가능하다. interace를 implements 한 클래스는 반드시 추상메소드를 Override 해주어야 한다.Override 할때는 반드시 public을 붙여야한다. 다중 상속이 가능하며 상속과 같이 쓰일 때는 extends, implements 순서로 쓴다.[형식]interface 인터페이스명{  }class 클래스명 implements 인터페이스명{  } 상속(extends)는 각각 클래스는 클래스끼리, interface는 interface끼리만 가능하다.인터페이스(implements)는 인터페이스가 인터페이스를 연결 하지 못한다.  i..

Java 2024.07.23

Java, Package(패키지) / 다른 패키지에서 호출하기 (+접근제어자) / Object(최상위 클래스) 비교하기( == , equals())

Package 패키지를 만드는 이유?|관련이 있는 파일들 끼리 모아두기 위해서 윈도우 - 폴더 리눅스 - 디렉토리 자바 - package 패키지는 맨 첫번째 줄에 1번만 기술할 수 있다.소문자로 기입해야한다. 패키지는 자바가 제공하는 기본 패키지 java.lang(default pakage)이다  접근 제어자에 따라 다른 패키지의 메소드나 클래스를 가져올 수도 있다. 클래스같은 패키지다른 패키지다른 패키지 자식 클래스privateoxxxdefaultooxxprotectedooxopublic oooo protected는 다른 패키지에서 Sub class 라면 접근이 가능하다.단, Sub class로 생성해야만 접근할 수 있다. Super class로 생성하면 안된다.[ com.zoo 패키지에 Zoo cla..

Java 2024.07.18
728x90