전체 글 202

Java Section 19 : 파일 입출력

□ 자바에서는 입출력을 처리하기 위한 별도의 I/O 패키지를 제공하고 있음  >> java.io 패키지에서 제공       - 파일 시스템의 정보를 얻기 위한 File 클래스와 데이터 입출력을 위한 다양한 스트림 클래스 제공 - 바이트 기반 : InputStream, OutputStream ① inputStream : 입력 스트림- FileInputStream : 파일에서 바이트 단위로 자료를 읽어들일 때 사용하는 스트림new FileInputStream(경로/파일명); ② OutputStream : 바이트 출력 스트림- FileOutputStream  □ 문자 기반 : Reader, Writer① Reader : 문자 입력 스트림- FileReader ② Writer : 문자 출력 스트림- FileWr..

IT/JAVA 2025.01.27

Java Section 18 : 스레드

[프로세스와 스레드]□ 프로세스 : 프로그램의 한 단위. 실행 중인 프로그램으로, 메모리에 독립적으로 저장되어 실행된다.□ 스레드 : 프로그램 내에서 동작하는 작업 단위를 말하며 스레드를 통해 동시에 여러 가지 작업 가능 - 각각의 프로세스들은 메모리에 독립적으로 등록되어 서로 간섭할 수 없음- 하나의 프로세스 안에서 다양한 작업을 동시에 하기 위해 스레드가 각자 독립적으로 존재하여 일 수행- 하나의 프로세스는 적어도 한 개의 스레드를 가진다.Thread 클래스를 상속하여 run() 메서드 구현Runnable 인터페이스 구현 ① Thread 클래스 상속- 클래스에 Thread를 상속받은 경우에는 Thread가 가지고 있는 run() 메서드를 사용해서 생성 ② Runnable 인터페이스 상속- 클래스 상속..

IT/JAVA 2025.01.25

Java Section 17 : 람다식

[람다식]: 함수의 이름이 없는 익명 함수를 만들기 위한 표현식-> 식별자 없이 실행 가능한 함수 [람다식 문법]- 메서드의 이름과 반환 타입을 제거하고 화살표 기호(→)를 사용해 구현함.- 문법이 간결해지고 원하는 결과를 쉽게 집계할 수 있다.- 매개변수 자료형을 생략할 수 있으며, 매개 변수가 한 개인 경우에는 소괄호도 생략할 수 있다. (두 개 이상일 경우에는 불가능)- 구현 내용이 한 문장이거나 return이 없다면 (void) 구현부에 있는 중괄호{ }도 생략 가능-> 함수의 내용이 두 문장 이상이거나 return 타입이 있으면 생략 불가능- 중괄호 안의 구현 코드가 return문만 존재하면 중괄호, return 모두 생략 가능 ※ 원래 메서드int add(int x, int y) { retur..

IT/JAVA 2025.01.24

Java Section 16 : 컬렉션 프레임워크

[컬렉션 프레임워크]■ 컬렉션 프레임워크 : 기존에 존재했던 자료 구조에 인터페이스로 설계된 기능을 클래스를 통해 제공하여 데이터 관리에 용이한 자료 구조 객체를 구조화한 것- 필요한 자료구조를 미리 구현하여 java.util 패키지에서 제공□ 컬렉션: 리스트, 큐, 트리 등의 자료구조□ 프레임워크 : 클래스와 인터페이스를 묶어 놓은 개념인터페이스설명특징대표 구현 클래스List순서가 있는 데이터의 집합데이터 중복 허용 OArrayList, LinkedListSet순서를 유지하지 않는 데이터의 집합데이터 중복 허용 XHashSet, LinkedHashSetMap키(key)와 값(value)의 쌍으로 이루어진 데이터의 집합순서 유지 X, 키 중복 X, 값 중복 OHashMap, LinkedHashMap, P..

IT/JAVA 2025.01.23

MVC 패턴 - 학생부 프로그램 중 발생한 오류

System.in을 넣어주면서 오류 해결 점수, 학번 바뀌어 들어감 DAO, DTO, Controller에 있는 인자 순서들을 제대로 맞춰줬더니 제대로 값이 들어온다.그랬더니 학번이 1001부터 시작 샘플데이터가 이미 1003부터 들어있어서 NUM 값을 1004로 바꾸어줬더니 정상적으로 자동 증가된다.  뷰에서 컨트롤러로 데이터를 가져올 때는 앞에 this.view를 붙여주도록 하자자꾸 오류가 나서 뭔가 했는데 printDatas()랑 printData() 따로여서 그런거였다

IT/에러 모음 2025.01.22

Java Section 15 : 기본 API 클래스

[ 자바 API 문서 ]■ API(Application Programming Interface) : 프로그램 개발에 자주 사용되는 클래스 및 인터페이스 모음 (=라이브러리)- 자바는 방대한 API 문서를 제공하며, 이를 잘 활용하면 개발 능력 향상에 도움이 됨 [ java.lang 패키지 ]: 자바의 기본적인 클래스를 담고 있는 패키지- Object, System, String, StringBuffer / StringBuilder, Math 등이 포함(스캐너처럼 따로 import하지 않고도 사용 가능)클래스용도Object자바 클래스의 최상위 클래스로 사용System시스템의 표준 입력/출력 장치로부터 데이터를 입력받거나 출력하기 위해 사용자바 가상 기계를 종료할 때 사용String문자열을 저장하고 여러 가..

IT/JAVA 2025.01.22

Java Section 14 : 예외처리

■ 예외(exception) : 프로그램 구동 중 나타나는 오류들. 문법적으로는 문제없어 보이지만 실제 운영 중에 생기는 문제를 나타냄 * 에러(error) 와 다르다! 에러는 개발자가 예측하거나 처리할 수 없는 영역이다.구분체크 예외비체크 예외처리 여부문법적으로 예외 처리를 강제함반드시 처리해야 함문법적으로 강제하지 않음개발자의 판단에 의해 처리확인 시점컴파일 단계실행 단계예외 클래스Runtime Exception을 제외한 모든 예외IOExceptionSQLException 등Runtime Exception의 자식 클래스 모두 포함NullPointerExceptionIndexOutOfBoundExceptionClssNotFoundException 등 예외클래스[자주 사용되는 예외]① NullPointe..

IT/JAVA 2025.01.21

[DAY 14] 컬렉션 프레임워크

□ 프레임 워크 -> 뼈대, 틀 □ 종류 : 리스트(list), 집합(set), 맵(map) 1. 리스트 - ArrayList■ ArrayList : 배열의 값을 마음대로 넣었다가 뺼 수 있음- new를 사용해도 주소값이 출력되지 않는데 이는 이미 toString()이 오버라이딩 되어있기에 값이 출력되는 것이다.-□ ArrayList 장점1) 개발자가 개발에 활용하기 용이2) 프로그램 동작 중에서도 메모리(크기)를 늘리거나 줄일 수 있다.    (= 배열의 3요소 중 하나인 크기를 몰라도 된다. (크기 미정 ok))3) 자료형과 무관하게 넣을 수 있음. 배열 3요소 중 관련있는 것만 넣는다는 규칙 1가지만 지키면 리스트에 넣을 수 있다.     (다만 웹개발에서는 자료형을 섞어쓰지 않고 "제네릭"을 이용..

IT/JAVA 2025.01.21

[DAY 14] 예외처리

[예외처리] : 프로그램을 정상적으로 종료할 수 있게 or 프로그램을 끝까지 사용할 수 있게 코딩하는 것 ※ 예외 : 코드가 예상과 다른 라인에서 멈춰버리는 현상 or 프로그램이 갑자기 종료되어버리는 현상             => 사용자 경험 저하 □ if문으로 처리할 수도 있지만 개발자가 알아보기 쉽도록 개발자용 문법을 사용해서 예외처리하도록 한다. try { 예외가 발생할 수 있는 코드 작성} catch() { 예외 발생 시 수행될 코드 작성}finally { 예외 발생 여부와 무관하게 항상 수행되는 코드} □ ( ) 안에 해당 예외 클래스를 작성하면 그 예외를 잡을 수 있음     -> 예외 발생 즉시 수행을 멈추고 catch로 이동 int[] datas= ..

IT/JAVA 2025.01.21

Java Section 13 : 내부 클래스

■ 내부 클래스 : 안쪽의 클래스. 클래스 간의 긴밀한 관계가 필요할 때 사용- 두 클래스 멤버 간 손쉽게 접근이 가능하고, 불필요한 클래스를 감춰서 코드의 복잡성을 줄일 수 있다. ■ 내부 클래스의 종류- 선언된 위치에 따라 인스턴스 클래스, 정적 클래스, 지역 클래스로 나뉨 ■ 내부 클래스의 접근 제한□ 내부 클래스에도 접근 제한자를 사용하여 클래스 접근에 대한 기능을 제한할 수 있음 ■ 익명 클래스: 다른 내부 클래스와 달리 이름이 없는 클래스 - 클래스의 선언과 객체의 생성을 동시에 하므로 단 한번만 사용 가능하며、 오직 하나의 객체만을 생성할 수 있는 일회용 클래스- 생성자 선언 x、 둘 이상의 인터페이스 구현 x- 보통 인터페이스 상속 없이 일회성으로 기능을 구현하여 사용할 때 주로 이용

IT/JAVA 2025.01.20