IT/JAVA 59

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

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

IT/JAVA 2025.01.23

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