파일 입출력 Stream이라는 연결통로를 통해 원본 데이터가 알맞는 인코딩 방식으로 전송된다. byte 단위로 입출력되기 땜눈에 개별처리이며, 상세 연산이 필요하지 않다면 Buffer를 사용한 입출력을 권장한다. Buffer를 사용하면 일괄처리가 가능해진다. ※ 인코딩 방식 인코딩 방식은 완성형과 조합형이 있다. - 완성형 : 각, 간, 갇, 갈, 감, ... , 갛, ... - 조합형 : ㄱ + ㅏ + ㄱ 조합형이 효율적이며 byte 단위로 데이터를 전송할 때 고정된 byte가 아니기 때문에 가변형 인코딩 방식을 선호한다. 조합형이면서 가변형인 인코딩 방식은 UTF-8이며, 전 세계에서 가장 많이 사용되는 방식이다. Writer(출력) BufferedWriter: 버퍼를 사용한 출력 클래스 FileWr..
오늘은 하나의 클래스 안에서 자판기를 구현하는 방법을 공부해보려고 한다. [ 설계서 ] - Product 클래스 [ VO, DAO 역할 ] 우선 만들 자판기의 기능을 크게 두가지로 나누면 사용자 모드 관리자 모드 위와 같이 두가지의 기능으로 분류하고 사용자 모드에는 상품 목록 출력 상품 구매 두개의 기능을 구현할 예정이고, 관리자 모드에서는 상품 추가 상품 재고 변경 상품 삭제 이렇게 3가지 기능을 구현할 예정이다. 멤버 변수로는 상품 PK 이름 가격 재고량 을 선언할 예정이고, 외부 class에서 접근할 수 없도록 private로 선언한다. 또한 외부 클래스에서 사용하기 위해서 getter, setter도 같이 생성할 예정이다. 생성자로는 멤버변수 4가지를 모두 main()에서 입력받을 것이기 때문에,..
1. 다음 코드에서 Object 클래스의 toString() 메소드를 재정의하여 User가 실행 결과와 같이 출력되도록 알맞은 코드를 작성해보세요. class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } // 코드 작성 공간 } public class UserExample { public static void main(String[] args) { User user = new User("김철수", 22); System.out.println(user); } } // [출력 결과] // 이름: 김철수, 나이: 22 더보기 @Override pub..
프로그램 실행이 안된 상태를 의미하며, 프로그래밍 코드의 집합체를 의미한다. 프로세스 프로그램의 한 단위를 말하며 실행 중인 프로그램으로 메모리에 독립적으로 저장되어 실행된다. 스레드 프로그램 내에서 동작하는 작업 단위를 말하며 스레드를 통해 동시에 여러 가지 작업을 할 수 있다. - 단일 쓰레드 처리 경로를 한 개만 가지고 있기 때문에 직렬적이다. 한 번에 하나씩 처리하기 때문에 상대적으로 비효율적이다. 하지만 하나의 작업에 문제가 발생하더라도 다른 작업은 시작하지 않았기 때문에 다른 작업에는 문제가 발생하지 않는다. 따라서 안정성이 보장되고 설계 시 멀티쓰레드에 비해 쉽다. - 멀티 쓰레드 하나의 프로세스를 동시에 처리하는 것처럼 보이지만 매우 짧은 단위로 분할해서 차례로 처리한다. 여러 개의 처리 ..