전체 글

전체 글

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

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

    [정리] 상속과 다형성, 오버라이딩, 추상클래스, 인터페이스

    *상속 다른 클래스가 가지고 있는 필드, 메소드들을 새로 작성할 클래스에서 직접 만들지 않고 이미 만들어진 클래스에서 "상속" 받음으로써 자신의 필드, 자신의 메소드처럼 사용 가능한 개념 => 즉, 코드를 물려받겠다는 뜻 - 보다 적은 양의 코드로 새로운 클래스 작성 가능 - 중복된 코드를 공통적으로 관리하기 때문에 새로운 코드 추가, 수정 등에 용이하며 생산성과 유지보수에 큰 기여를 함 매 클래스마다 중복된 코드들을 일일이 기술하면 수정과 같은 유지보수 시 매번 일일이 찾아서 수정해야 한다는 번거로움이 생김 => "상속"이라는 개념을 적용시켜 매 클래스마다 중복된 필드, 중복된 메소드들을 단 한 번만 또 다른 클래스에 정의해 두고 해당 클래스를 가져다 쓰는 방식으로 진행 가능함 => 생성자는 물려받을 ..

    [Java] 12_입출력(Input/Output의 개요)

    12_입출력(I/O) 입출력(IO): 컴퓨터 내부 또는 외부 장치와 프로그램 간의 데이터를 주고받는 것 => 기준점은 프로그램! 데이터가 프로그램에서 입/출력되며 이동하는 공간을 "스트림(통로)"라고 부름(학원에서는 외부 요소 중에서 파일을 기준으로 통로 움직임을 보여 주며 진행할 것) FileRun 클래스 package com.kh.chap01.file.run; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; // 자바 코드로 간단하게 파일 만드는 과정(java.io.File 클래스) public class FileRun { public static..

    [8/18 시험 안내]

    8/18(목) 시험 시험 유형[2단위] ~다음 주 중에 배울 채팅 만드는 것까지 시험 범위 프로그래밍 언어 응용: 서술형 3개, 문제 해결 시나리오 1문제 네트워크 프로그래밍 구현: 서술형 3개, 문제 해결 시나리오 1문제 서술형: 강의 시간에 한 필기 기준 문제 해결 시나리오: 문제가 있는 코드를 제공하면 어디서 뭐가 잘못됐는지 원인 찾아서 어떻게 고쳐야 하는지 구체적으로 기술할 것 **시험 때 이클립스 사용 불가 **시험 소요 시간 아직 미정이나 오전 2시간, 오후 2시간일 듯?

    [Java] 11_예외처리(Unchecked/Checked Exception)

    11_예외처리(Exception) 프로그램 에러 프로그램 수행 시 치명적 상황이 발생하여 비정상 종료 상황이 발생한 것 *예외 클래스 계층 구조 (== 상속) Exception과 Error 클래스 모두 Object 클래스의 자손이며 모든 예외의 최고 조상은 Exception 클래스 반드시 예외 처리해야 하는 Checked Exception과 해 주지 않아도 되는 Unchecked Exception으로 나뉨 => 시스템 오류는 코드상의 잘못이 아니니까 예외 처리 불가능 * 에러(오류) 종류 - 시스템 에러: 컴퓨터의 오작동으로 인해 발생하는 에러 => 소스코드로 해결이 안 됨, 개발자의 코드 잘못이 아닌 컴퓨터 문제(심각한 에러) - 컴파일 에러: 소스코드상의 문법적인 문제로 발생하는 에러 => 소스코드 ..

    [Java] 10_기본 API(Math, StringPool, StringMethod, StringTokenizer, Wrapper-parsing, Date)

    10_기본 API API: Application Programming Interface (== 라이브러리, 개발에 자주 사용되는 인터페이스의 모음) Math 클래스 테스트 package com.kh.chap01.math.run; // import java.lang.Math // 왜 얘를 import 안 해도 Math.PI가 실행되는 걸까? // => import java.lang.*; // => 생략 가능! 보이진 않지만 항상 import가 되어 있음 // java.lang.Math 클래스 테스트 public class MathRun { public static void main(String[] args) { // Math 클래스 (수학과 관련) 에서 제공하고 있는 유용한 기능들에 대해서 살펴보자! //..

    [Java] 09_다형성(추상 클래스와 인터페이스)

    09_다형성(Polymorphism) Sports 클래스 (== 부모 클래스) package com.kh.chap02.abstractAndInterface.part01.basic.model.vo; // public class Sports { public abstract class Sports { // 추상 클래스(abstract 키워드) // 필드부 private int people; // 스포츠에 참여하는 선수 명 수 // 생성자부 public Sports() { } public Sports(int people) { this.people = people; } // 메소드부 // getter/setter, toString() 오버라이딩, 규칙을 출력하는 public void rule 메소드 public ..

    [github] 깃허브 컴퓨터별 잔디 안 심어지는 오류

    [error 내용] 사진과 같이 분명히! commit & push를 했음에도 잔디가 심어지지 않는 오류 발생 집 컴퓨터로 커밋, 푸시 했을 때는 잔디 잘 심어짐 학원 컴퓨터로 커밋, 푸시 했을 때는 잔디가 안 심어짐 학원 다니면서 매일 커밋 앤 푸시를 하며 깃허브를 사용하던 나 주말은 그렇다 치고 평일에는 왜 잔디가 안 심어져 있을까 아니 이게 성실함의 척도라면서요 잃어버린 성실함 내 잔디 내놔 [error 해결 방법] 이클립스에 설정된 git email과 깃허브의 email이 달라서 그렇다 깃허브 설정과 이클립스 설정 확인 후 각각 등록된 이메일을 통일해서 맞춰 주면 됨! Settings - Emails - Primary email address 확인 후 save 여기 등록된 이메일과 이클립스에 등록된..

    [Java] 09_다형성(Polymorphism)

    09_다형성(Polymorphism) 다형성: 많은 모양을 가지고 있는 특징 (== "상속관계 간의" 형 변환) 다형성은 전제 조건으로 상속이 깔려야 함! (중요) *객체지향프로그래밍(Object Oriented Programming, OOP) 3대 요소 => 캡슐화, 상속, 다형성 *다형성 같은 자료형에 여러 가지 객체를 대입하여 다양한 결과를 얻어내는 성질 => "상속" 관계에서만 이루어질 수 있는 "형 변환"의 개념! 명심할 사항: 대입연산자 (=) 기준으로 왼쪽과 오른쪽의 자료형은 같아야 함 Parent 클래스 package com.kh.chap01.poly.part01.basic.model.vo; public class Parent { // 필드부 private int x; private int..

    [이클립스-github] Push Confirmation 오류(rejected - non-fast-forward)

    [error 내용] 이클립스에서 github로 commit & push를 할 때 가끔 rejected - non-fast-forward 오류가 뜸 나는 commit & push를 진행했는데 github는 업데이트되지 않았고 이클립스상의 staging 영역에서 파일도 사라지기 때문에 매우 불안 [error 해결 방법] 브랜치의 경로를 재설정해 주면 됨 브랜치의 경로가 바뀌거나 로컬 혹은 git 폴더인 브랜치 저장소에 변경사항이 있을 때 이러한 현상이 나타나는 듯함 이클립스 window - Show View - Other - Git - Git Repositories 추가 Git Repositories에서 해당 저장소의 Remotes - origin - ↓ 저장소 이름 - Configure Fetch 클릭 R..