IT 137

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

Java Section 12 : 추상 클래스와 인터페이스

01 추상 클래스와 추상 메서드■ 추상 메서드 : 선언부만 작성하고 구현부는 작성하지 않고 남겨두는 미완성 메서드- 오버라이딩을 위해 자바에서 지원하는 방법. - "abstract" 키워드 함께 표기 + ;(세미콜론) 붙이기  (중괄호 x)[접근 제한자] abstract 반환타입 메서드이름(매개변수1, 매개변수2,..);- 추상메서드는 반드시 추상 클래스 안에 건언되어야 하며, 추강 메서드를 1개 이상 선언하면, 그 클래스는 추상 클래스로 선언되어야 한다. ■ 추상 클래스 : 하나 이상의 추상 메서드를 포함하는 클래스[접근제한자] abstract class 클래스이름 {// 필드// 생성자// 메서드(추상 메서드 포함)}- 멤버변수, 메서드, 생성자 모두 가능- 일반 클래스처럼 독립적으로 생성자를 호출해..

IT/JAVA 2025.01.19

Java Section 11 : 다형성과 타입 변환

01 클래스에서의 타입 변환■ 클래스의 타입 변환에도 자동 형 변환, 강제 형 변환 존재   => 상속 관계에 있는 클래스 사이에서만 변환 가능 ① 자동 형 변환 : 상속 관계에 있는 자식 클래스의 객체를 부모 타입의 객체로 변환하는 것-> 자식 타입에서 부모 타입 방향으로만 가능package practice;class Parent {}class Child extends Parent {}public class Ex { public static void main(String[] args) { Parent p1 = new Parent(); Child c1 = new Child(); Parent p2 = new Child(); // 자동형변환 Parent p3 = c1; // 자동형변환 if(p3 =..

IT/JAVA 2025.01.18

Java Section 10 : 상속

[상속]■ 상속 : 부모 역할을 하는 클래스가 자식 역할을 하는 클래스에게 클래스 멤버와 메서드를 물려주는 것               - 클래스를 재사용하기 때문에 중복을 줄여주고 수정을 최소화함□ 자식 클래스에서 "extends" 키워드를 사용하여 상속받을 클래스를 지명한다.             ※ 자바는 다중 상속을 허용하지 않으므로 extends 뒤에 하나의 부모 클래스만 허용한다.   - 부모 클래스의 상속을 받은 자식 클래스는 부모 클래스의 모든 멤버를 가져다 쓸 수 있다. 부모 클래스 == 상위 클래스 == 기반 클래스자식 클래스 == 하위 클래스 == 파생 클래스 [상속에서의 생성자]특별한 역할을 하지 않는 기본 생성자는 비어있는 것이 맞지만 자식 클래스의 기본 생성자는 super()라는..

IT/JAVA 2025.01.17

Java Section 09 : 생성자

01 생성자의 특징■ 생성자 : 객체를 생성할 때 호출되어 객체의 초기화를 담당하는 특별한 메서드- 객체를 생성하고 초기화하려면 반드시 생성자를 호출해야 함.- 생성자를 통해 객체를 초기화 한다는 것은 필드와 메서드를 호출하는 등 객체를 사용하기 위해 객체를 메모리에 올린다는 것이다.- 생성자 역시 매개변수를 통해 값을 전달할 수 있다.클래스명(매개변수1, 매개변수2...) {}- 일반 메서드와 달리 반환 타입이 없고 이름은 클래스 이름과 동일 □ 호출 위치 : 객체의 초기화를 담당하기 때문에 객체를 생성할 때만 호출 가능□ 호출 방법 : new 키워드를 함께 사용클래스명 객체명 = new 클래스명();생성자를 통해 객체를 생성하는 방법은 다음과 같다. ■ 기본 생성자 : 생성자를 직접 선언하지 않으면 ..

IT/JAVA 2025.01.16