전체 글 126

JAVA 제네릭

Generic     - 데이터의 타입을 일반화한다(Generalize)     - 클래스와 메서드에서 사용할 타입을 설계도에 저장하지 않고       컴파일할 때 지정하는 기술       -> 사용자가 사용할 때 타입을 결정     - JDK 1.5 때 도입, 그 전에는 Object를 사용     - Object를 사용하면       데이터 입력 시 모든 데이터 입력이 가능하므로       잘못된 데이터가 들어갈 수 있으며       데이터 사용 시에도 데이터 타입을 모르니       알게 되더라도 Casting을 반드시 해야 사용 가능     Animal : T, K, V, E ☆ Code ★ Generic1import java.util.ArrayList;public class Generic1 { p..

JAVA 2024.11.17

JAVA 컬렉션 프레임워크

Collection Framework (1) 개요     코딩 중 객체(기본형 포함)을 여러 개를     저장하고 꺼내쓰는 경우가 빈번     => 가장 간단하게 구현한 것이 배열 []     배열 선언 방법         데이터타입[] 배열명 = new 데이터타입[개수];         int[] scores = new int[5];     배열은 전체 개수를 알고 있을 때는 사용이 편리     모르고 있거나, 변경될 때     - 매번 생성 시 1000개씩 만들자 => 공간 낭비     - 배열에서 데이터를 지우면 그 공간은 빈 자리     => 배열의 알려진 문제점 + 잘 알려진 구조        데이터의 추가/삭제/검색이 편리하도록        java.util 패키지 내에 여러 개의 IF와 클래..

JAVA 2024.11.16

JAVA 예외

예외처리(Exception) (1) 에러(Error)     컴파일 시 발생하는 에러     런타임 시 발생하는 에러 (2) 예외     런타임 시 발생하는 에러 중에     개발자가 처리 가능한 에러     cf) 처리가 불가능한 에러         OOM(Out Of Memory)         - 예외처리할 메모리 조차도 없음 (3) 예외처리 방법     try {         예외 검사를 하고 싶은 내용;     }     catch(예외명1){         1번 예외에 대해 할 일;     }     catch(예외명2){         2번 예외에 대해 할 일;     }     ....     catch(Exception e){         예상 불가능한 예외 모두;     }     ..

JAVA 2024.11.16

JAVA base class

기본 클래스(Base Class) (1) System     System.out.println("Hello World");     System s = new System(); (이렇게 안함)     out은 System의 static 변수이다.     in도 System의 static 변수이다.     println()     System.currentTimeMillis()         : 현재 시간을 밀리초 단위로 리턴         : 1970년 1월 1일 0시 0분 0초 기준     어디에 씀?     변수1 = System.currentTimeMillis();     나의 로직 수행     변수2 = System.currentTimeMillis();     변수2 - 변수1 = 나의 로직이 수행..

JAVA 2024.11.15

JAVA 인터페이스

인터페이스(Interface) (1) 사전적 의미     하나의 시스템을 구성하는 두 개의 요소 또는     서로 다른 시스템 간의 상호 작용을 이루는 경계     하드웨어/소프트웨어/조건/규약 등을 포괄적으로 칭함 (2) Java에서의 인터페이스     프로그램과 프로그램을 연결하는 것     한 마디로 요약하면 [규제]         특정한 규약에 의해 개발하도록 하는 목적     클래스가 인터페이스를 이용하려면 "반드시"     인터페이스가 규정한 메서드들을 다 만들어야 함     인터페이스의 메서드를 구현하지 않으면 컴파일 실패 (3) 왜 만들었을까?     계산기 프로그램 개발 프로젝트     계산기 클래스는 A 개발자가 개발     응용 프로그램 클래스는 B 개발자가 개발     동시에 개발을..

JAVA 2024.11.15

JAVA string class

String Class     String str1 = "abcde";     String str2 = "abcde";     String str3 = new String("abcde");     String str4 = new String("abcde");     str1 == str2 ?  true     str3 == str4 ?  false (1) final 클래스로 상속 불가     int, float, double과 같은 primitive의 데이터형과     거의 유사한 취급 (2) new String("~~~~"), "~~~~" 두 가지로 생성 가능 (3) 다수의 메서드들이 존재     1) length() : 문자열의 길이                   cf) char[] str => s..

JAVA 2024.11.15

JAVA 상속2

(3) 메서드 재정의(Overriding=Overwriting)     부모 : print(String str)     자식 : print(String aaa)     => 같은 메서드이다.     1) 부모 클래스의 메서드를 자식 클래스가 변경하는 것     2) 메서드명 뿐 아니라 메서드의 변수 타입이 동일        메서드명이 같은데 메서드의 변수 타입이 다르면?        => 메서드 오버로딩(Overloading)     3) 동일한 이름, 타입의 메서드는 자식 메서드가 우선     4) 부모의 권한과 같거나 낮은 권한         부모가 public이면 자식은 무조건 public (4) 다형성(Polymorphism)     1)          int i = 0;         doub..

JAVA 2024.11.14

JAVA 상속1

상속(Inheritance) (1) 객체지향언어의 가장 큰 특징 > 재사용성 > 상속     상속은 부모 클래스로부터 변수와 메서드를 물려받는 것     클래스를 만들 때 처음부터 만드는 것이 아니라     일단 부모로부터 받고 추가적인 것이나 변경해야할 부분만 수정 (2) 상속의 특징     1) 용어         부모, 슈퍼, 상위, 베이스 : 상속을 주는 클래스         자식, 서브, 하위, 파생(Derived) : 상속을 받은 클래스     2) 클래스 상속 방법         extends 키워드 사용         class Child extends Parent {         }     3) 상속의 특징         - 단일 상속만 가능         - 부모 객체가 먼저 생성되고..

JAVA 2024.11.14

JAVA 실습1 : Depart 1

해야할 일 :  1. name : 백화점 지점 이름, 생성할 때 지정 가능 2. pranName : 브랜드 이름, 수정 불가, 최초에 "내백화점"으로 세팅 3. amt : 지점의 매출액, 초기값은 0, 직접 수정 불가 4. openInd : 현재 지점의 오픈 가능 여부(true or false) 5. pranOpenInd : 전체(브랜드) 백화점의 오픈 가능 여부 6. getOpenStatus() : 현재 지점이 오픈 가능한지 여부를 돌려주는 메서드 7. addAmt(int amt) : 매출액을 더하는 메서드 ☆ Codepublic class DepartEx { public static void main(String[] args) { // TODO Auto-generated method stub De..

JAVA 2024.11.13