자바는 C++달리 처음부터 객체지향언어로 개발된 프로그래밍 언어 입니다.자바는 자바 가상 머신(JVM)을 사용하여 어느 운영체제에서나 같은 형태로 실행될 수 있습니다.이러한 점이 수많은 개발자로 하여금 자바를 사용하게 하는 원동력이 되고 있습니다.자바는 가전제품 내에서
자바 개발 환경 구축
D 드라이브 하위에 Dev 폴더 생성Dev 폴더 하위에 work_java 폴더 생성프로젝트 이름을 Java_Big_Data_1230 / Java_Public_Data_1230으로 지정JDK 버전은 11클래스와 매소드의 시작과 끝은 중괄호로 감싸서 표현하며 각 내부의 범
부호를 가지며, 소수가 없습니다.정수형 데이터 타입을 결정 할 때는 사용하고자 하는 데이터의 최대크기를 고려해서 결정해야 합니다.해당 타입이 표현 할 수 있는 범위를 벗어아면 오버플로우가 발생해 전혀 다른 값이 저장 됩니다.float형과 double형이 있으며, dou
사용자가 프로그램과 대화하기 위해서는 사용자와 프로그램 사이의 입출력을 담당하는 수단이 필요 합니다.자바에서는 모든 것이 객체로 표현되므로, 입출력을 담당하는 수단 또한 모두 객체 입니다.System.inSystem.outSystem.err : System.out과 유
자바에서는 여러 종류의 연산을 수행하기 위한 다양한 연산자를 제공하고 있습니다.산술 연산자(arithmetic operator)대입 연산자(assignment operator)증감 연산자(increment and decrement operators)비교 연산자(comp
프로그램이 원하는 결과를 얻기 위해서는 프로그램의 순차적인 흐름을 제어해야만 할 경우가 생깁니다.이때 사용하는 명령문을 제어문이라고 하며, 이러한 제어문에는 조건문, 반복문 등이 있습니다.이러한 제어문에 속하는 명령문들은 중괄호({})로 둘러싸여 있으며, 이러한 중괄호
반복문이란 주어진 조건이 참인 경우 혹은 주어진 횟수만큼 반복적으로 프로그램을 수행 합니다.프로그램이 처리하는 코드의 많은 부분이 반복적으로 수행되는 형태가 많으므로 가장 많이 사용되는 제어문 입니다.while 문do ~ while문for문Enhanced for 문주어
기본 타입과 참조 타입으로 선언된 변수의 차이점은 저장되는 값이 다르다는 점 입니다.기본 타입은 선언된 변수에 실제 값이 저장되지만 참조 타입은 변수에 실제값이 저장된 주소를 가지고 있습니다.메소드 영역에는 코드에서 사용되는 클래스들을 클래스 로도로 읽어 클래스 별로
같은 타입의 변수들로 이루어진 유한 집합 입니다.배열을 구성하는 각각의 값을 배열 요소(element)라고 하며, 배열에서의 위치를 가리키는 숫자를 인덱스(index)라고 합니다.자바에서 인덱스는 언제나 0부터 시작하며, 0을 포함한 양의 정수만을 가질 수 있습니다.배
자식 클래스가 여러 부모 클래스를 상속받을 수 있다면, 다양한 동작을 수행할 수 있다는 장점을 가지게 될 것입니다.하지만 클래스를 이용하여 다중 상속을 할 경우 메소드 출처의 모호성 등 여러 가지 문제가 발생할 수 있어 자바에서는 클래스를 통한 다중 상속은 지원하지 않
default method는 인터페이스에 있는 구현 메서드를 의미 합니다.인터페이스에서는 구현부가 있는 메소드를 만들 수 없는 것이 기본적인 특징이나 예외적으로 디폴트 메서드를 만들 수 있습니다.기존의 추상 메서드와 다른 점은 아래와 같습니다.메서드 앞에 default
객체도 배열로 만들어 관리 할 수 있습니다.객체를 배열로 관리하기 위해서 먼저 객체를 저장할 배열을 생성 합니다.객체를 배열에 저장하기 위해서 배열을 순회하면서 배열을 저장하기위해 객체를 생성하고 객체의 세터를 이용하여 값을 저장 합니다.업로드중..
자동차를 상속 받아 승용차, 스포츠카, 버스, 만들기자동차의 필드는 자동차에서 정의 해서 상속을 줌자동차는 상속용 차이며 운행 하지 않는 자동차 입니다자동차는 객체화가 안되므로 추상화 하는게 좋을 것 같습니다.구현해야 할 공통의 메소드는 기본 자동차 클래스에서 구현해서
각각의 인터페이스로 선언된 메소드는 상속 받은 클래스에서 반드시 구현해합니다.아래의 예제는 다중 인터페이스와 송속이 동시에 적용된 예제 입니다.에어컨 인터페이스 ( ON/OFF, 온도 설정)자율운전 인터페이스protected 접근 제한자 사용한 클래스가 여러 클래스로
프로그램에 따라 기본 타입의 데이터를 객체로 취급해야 하는 경우가 있습니다. (제네릭, 컬렉션 프레임워크)예를 들어, 메소드의 인수로 객체 타입만이 요구되면, 기본 타입의 데이터를 그대로 사용할 수는 없습니다.이때에는 기본 타입의 데이터를 먼저 객체로 변환한 후 작업을
java.util 패키지에는 프로그램을 개발하는 데 사용할 수 있는 유용한 유틸리티 클래스가 다수 포함되어 있습니다.실제로 java.lang 패키지 다음으로 가장 많이 사용되는 패키지가 java.util 패키지입니다.하지만 import 문을 사용하지 않아도 바로 사용할
프로그램을 강제 종료 시킴\*\*System.exit()\*\*\*\*System.gc()\*\*주로 실행 시간을 측정하는 용도로 사용 됩니다.currentTimeMillis(); UTC 1970년 1월 1일 00:00:00.000을 기준으로 현재 시간의 차이를 반환(
문자열이 특정 구분자로 연결되어 있는 경우, 구분자를 기준으로 부분 문자열 위해서는 String의 split()메소드를 이용하거나, java.util 패키지의 StringTokenizer 클래스를 이용 합니다.꺼내지 않고 남아 있는 토큰의 수남아 있는 토큰이 있는지 여
자바의 모든 클래스와 인터페이스는 컴파일되고 나면 class 파일로 생성됩니다.class 파일에는 클래스나 인터페이스에 대한 변수, 메소드, 생성자 등의 정보가 들어 있습니다.Class 클래스는 컴파일된 class 파일에 저장된 클래스나 인터페이스 정보를 가져오는데 사
제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미합니다. (데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입을 가질 수 있도록 하는 방법)이렇게 함으로써 여러가지 데이터 타입 또는 자료구조에 상관
자바는 배열의 여러가지 문제점을 해결하고 , 알려진 자료 구조를 바탕으로 객체를 효율적으로 추가, 삭제, 검색 할 수 있도록 java.util 패키지에 컬렉션과 관련된 인터페이스와 클래스를 제공 하고 있습니다.이들을 총칭해서 컬렉션 프레임워크라고 부릅니다.즉, 데이터를
리스트는 배열과 비슷한 자바의 자료형으로 배열보다 편리한 기능을 많이 가지고 있습니다.리스트와 배열의 가장 큰 차이점은 크기가 정해져 있지 않고 동적으로 변한다는 점 입니다.데이터를 크기를 알 수 없을 때 유용하게 사용할 수 있습니다.요소의 저장 순서가 유지 됩니다.같
Map 인터페이스는 하나가 아닌 쌍(Pair)으로 되어 있는 자료를 관리하는 메소드로 선언되어 있습니다.하나의 쌍(Pair)는 키(key)와 값(value)으로 이루어져 있습니다.키는 중복 될 수 없으며, 값은 중복될 수 있습니다.데이터에 대한 검색과 저장에서 아주 우
순서와 상관없이 중복을 허용하지 않는 경우에는 Set 인터페이스를 구현한 클래스를 사용 합니다.요소의 순서를 유지 하지 않음요소의 중복 허용하지 않음 (hashCode() 리턴값을 사용하여 객체가 동일한지 판단 합니다.)수학의 집합과 유사한 개념업로드중..기본적으로 인
TreeSet 클래스는 데이터가 정렬된 상태로 저장되는 이진 검색 트리(binary search tree)의 형태로 요소를 저장합니다.트리는 자료 사이의 계층 구조를 나타내는 자료 구조 입니다.업로드중..이진 검색 트리는 데이터를 추가하거나 제거하는 등의 기본 동작 시
Input과 Output의 약자, 컴퓨터 내부 또는 외부 장치와 프로그램 간의 데이터를 주고 받는 것장치와 입출력을 위해서는 하드웨어 장치에 직접 접근이 필요한데 다양한 매체에 존재하는 데이터들을 사용하기 위해 입출력 데이터를 처리할 공통적인 방법으로 스트림 이용업로드
커피메뉴를 파일에 쓰기 SerialMenuWrite CoffeeMenuInfo 커피 메뉴를 파일에서 읽기 SerialMenuRead
네트워크로 연결된 컴퓨터간의 관계를 역할(role)로 구분한 개념서버는 서비스를 제공하는 프로그램으로 클라이언트의 연결을 수락하고 요청 내용을 처리 후 응답을 보내는 역할클라이언트는 서비스를 받는 프로그램으로 네트워크 데이터를 필요로 하는 모든 어플리케이션이 해당 됨네
TCP(Transmission Control Protocol)은 연결 지향적 프로토콜 입니다.클라이언트가 연결 요청을 하고, 서버가 연결을 수락하면 통신 선로 고정되고, 모든 데이터는 통선 선로를 통해 순차적으로 전달 합니다.데이터를 전송하기 전 연결이 형성되어하고 이
서버의 포트 번호를 정함서버용 소켓 객체 생성 (ServerSocket)클라이언트 쪽에서 접속 요청이 오길 기다림 (accept)접속 요청이 오면 요청 수락 후 해당 클라이언트에 대한 소켓 객체 생성연결된 클라이언트와 입출력 스트림 생성스트림을 통해 읽고 쓰기통신 종료
서버의 IP주소와 서버가 정한 포트번호를 매개변수로 하여 클라리언트용 소켓 객체 생성서버와의 입출력 스트림 오픈보조 스트림을 통해 성능 개선스트림을 통해 읽고 쓰기통신 종료
BufferedReader / BufferedWriter : 버퍼를 이용해서 읽고 쓴 메소드이며, 버퍼를 이용하기 때문에 입/출력의 효율이 비교할 수없을 정도로 좋아 집니다.
ObjectOutputStream : 파일이나 네트워크로 데이터를 전달하기 위해 직렬화를 수행합니다.writeObject() :ObjectInputStream : 역직렬화 수행(소켓으로 부터 바이트 스트림 얻어 역직렬화)readObject()
임의의 위치에 텍스트 파일을 만들고, 10명의 정보를 공백 기준으로 미리 입력 해둠.이름 국어 영어 수학 형식입력 예)해당 파일을 읽어 총점을 구하고 총점이 높은 사람 순으로 이름과 총점 보여주기이름, 전화번호, 회사명, 이메일 포함된 10개의 명함 정보 생성 후