💻 <!-- dev -->/Java

    [Java] 14_컬렉션(Collection - Properties)

    14_컬렉션(Collection - Properties) Properties: Map 계열 => key, value 세트로 저장함 단, Properties만의 특징이라고 한다면 key, value 모두 String 타입으로 쓰는 것을 권장 => 파일 입출력에 특화된 타입이기 때문에 package com.kh.chap03.map.part02.properties.run; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; import com.kh.chap03.map.part01.hashMap.model.vo.Snack; public ..

    [Java] 14_컬렉션(Collection - Map)

    14_컬렉션(Collection - Map) package com.kh.chap01.list.part01.hashMap.model.vo; public class Snack { // 필드부 private String flavor; private int calory; // 생성자부 public Snack() { super(); } public Snack(String flavor, int calory) { super(); this.flavor = flavor; this.calory = calory; } // 메소드부 public String getFlavor() { return flavor; } public void setFlavor(String flavor) { this.flavor = flavor; } p..

    [Java] 14_컬렉션(Collection - Set)

    package com.kh.chap01.list.part01.hashSet.model.vo; public class Student { // 필드부 private String name; private int age; private int score; // 생성자부 public Student() { super(); } public Student(String name, int age, int score) { super(); this.name = name; this.age = age; this.score = score; } // 메소드부 public String getName() { return name; } public void setName(String name) { this.name = name; } pu..

    [Java] 14_컬렉션(Collection - MVC패턴)

    MVC 패턴 M: Model => VO, DAO 데이터를 담당하는 부분 V: View => 사람 눈에 보이는 화면을 담당하는 부분 C: Controller => 기능을 담당하는 부분 main 메소드에 코드를 몰아 넣으면 유지보수 및 협업이 힘듦 Run 클래스 ackage com.kh.chap01.list.part02.mvc.run; import com.kh.chap01.list.part02.mvc.view.MusicView; public class Run { // 프로그램의 시작점: 사용자가 프로그램이 시작되었을 때 가장 먼저 볼 화면을 담당할 메소드를 호출하는 역할 public static void main(String[] args) { MusicView mv = new MusicView(); mv.m..

    [Java] 14_컬렉션(Collection - List의 메소드, 제네릭)

    14_컬렉션(Collection - List의 메소드) E --> Element : 제네릭 (E == Object) == 다형성에 의해서 모든 자식 들어갈 수 있음 1. add(E e) : 해당 리스트의 끝에 전달된 e 를 추가시켜 주는 메소드 [ 표현법 ] 객체명.메소드명(); package com.kh.chap01.list.part01.arrayList.run; import java.util.ArrayList; import java.util.List; import com.kh.chap01.list.part01.arrayList.model.vo.Music; public class ListRun { public static void main(String[] args) { // 기존의 배열을 쓸 경우 =>..

    [Java] 14_컬렉션(Collection)의 개요

    14_컬렉션(Collection) * 컬렉션(Collection) 자료 구조가 내장되어 있는 클래스로 자바에서 제공하는 "자료 구조"를 담당하는 "프레임워크" => 자료 구조: 방대한 데이터들을 효율적 (구조적)으로 다를 때 필요한 개념 => 프레임워크: 효율적인 기능들이 이미 정의되어 있는 틀 정리해 보면 데이터들이 새로이 추가되거나, 삭제가 되거나, 수정이 되는 기능 (알고리즘) 들이 이미 정의되어 있는 틀이 있음 == 컬렉션 => 다량의 데이터들을 관리하고자 할 때 배열을 가지고 충분히 사용했었지만 그 배열의 단점들을 보완한 것이 "컬렉션" *배열과 컬렉션의 차이점 - 배열의 단점 1. 배열을 쓰고자 할 때 먼저 크기를 지정해야 함 => 한번 지정된 크기는 변경이 불가함 새로운 값을 추가하고자 할 ..

    [8/18 시험 대비]

    오버로딩(Overloading) 오버라이딩(Overriding) - 한 클래스 내에 같은 메소드명으로 정의할 수 있는 방법 - 매개변수의 자료형의 개수, 순서가 다르게 작성되어 있어야 함 - 단, 매개변수의 이름, 접근제한자, 반환형은 메소드 오버로딩에 영향을 주지 않음 - 상속받고 있는 부모 클래스의 메소드를 자식 클래스에서 재정의 - 부모 메소드명과 메소드명이 동일해야 함 - 매개변수의 자료형, 개수, 순서, 반환형이 동일해야 함 - 부모 메소드의 접근 제한자와 같거나 공유 범위가 더 커야 함 상속 예시 public class Desktop extends Product { // 필드부(부모 클래스의 필드는 따로 정의할 필요 없음) private int price; // 생성자부(기본 생성자, 매개변수..

    [Java] 13_네트워크(Network)

    13_네트워크(Network) 네트워크: Net(그물망) + work(일) == 여러 대의 컴퓨터들이 그물망처럼 얽히고 설켜 일을 할 수 있는 구조 여러 대의 컴퓨터를 통신 회선으로 연결한 것(홈 네트워크, 지역 네트워크, 인터넷 등이 해당) 서버 (== 가게주인) 클라이언트의 요청이 있기 전까지는 항상 대기 상태 클라이언트의 요청을 받고 해당 내용을 처리 후 응답을 보냄 클라이언트 (== 손님) 서버의 IP, port번호를 통해 필요로 하는 데이터를 요청함 IP주소 네트워크상에서 컴퓨터를 식별하는 번호(== 컴퓨터의 주소지) => 고유한 식별값이므로 같은 네트워크 안의 ip주소는 중복될 수 없음 포트(Port) 같은 컴퓨터 내에서 프로그램을 식별하는 번호(== 상세주소) => 고유의 식별값이므로 중복 ..

    [Java] 12_IO(보조 스트림을 이용한 객체, 객체배열 단위 입출력)

    12_IO(입출력) 보조 스트림을 이용하면 파일 입출력을 객체 단위로 활용 가능함 => 이는 컴퓨터에 기록할 용도이지 사람이 읽을 용도가 아니므로 파일을 열었을 때 글자가 깨지는 현상 자주 나올 수 있음! ObjectDao클래스에 Phone 클래스의 객체를 넣어서 출력하고 싶다! 프로그램 ---> 외부 매체(파일) 출력 package com.kh.chap04.assist.part02.object.model.dao; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import com.kh.chap04.assist.pa..

    [Java] 12_입출력[바이트 기반 스트림(== 좁은 통로)과 문자 기반 스트림(== 넓은 통로)의 입출력, 보조 스트림의 개요 및 입출력]

    *바이트 기반 스트림 바이트 스트림: 1byte 단위로만 입출력할 수 있는 좁은 통로(XXXInputStream / XXXOutputStream) 기반 스트림: 외부 매체와 직접적으로 연결되는 메인 통로 => 외부 매체를 지정하고 그 외부매체와 직접적으로 연결되는 1byte 단위의 통로를 만들겠음 XXXInputStream: XXX 매체로부터 데이터를 입력받는 통로 (외부 매체로부터 데이터를 가지고 오겠다. == 읽어들이겠다) XXXOutputStream: XXX 매체로부터 데이터를 출력하는 통로 (외부 매체에 데이터를 내보내겠다 == 쓰겠다) DAO(Data Access Object) : 데이터가 보관되어 있는 공간(외부 매체)과 직접 접근해서 데이터를 입출력하는 용도의 클래스 기능에만 충실한 패키지:..