Adventure Time - Finn 3
본문 바로가기

19

파일 입출력 자바 입출력과 스트림 프로그램은 데이터를 외부에서 입력받아 처리하고 출력하는 구조로 되어 있습닏 프로그램으로 들어오는 모든 값을 input이라 하고 출력되는 값은 Output이라고 합니다 이를 입출력이라고도 부르며 자바에서는 이불력을 처리하기 위해 별도의 I/O패키지를 제공합니다 여기서 데이터란 자바프로그램엣거 처리할 수 있는 모든 데이터를 의미합니다 디스크상에 존재하는 데이터일 수도 있고 키보드나 마우스와 같은 외부 입력 장치에서 입력되는 데이터일 수도 있으며 인터넷을 통해 전송되는 데이터일 수도 있습니다 1 입출력 스트림의 특징 자바에서는 입출력을 위한 입력 스트림과 출력 스트림이 있습니다 프로그램을 기준으로 데이터가 들어오면 입력 스트림이며 데이터가 나가면 출력 스트림입니다. 입력과 출력이 동시에 .. 2024. 1. 20.
스레드 프로세스와 스레드 동시에 두 가지 이상의 작업을 처리하는 것을 멀티태스킹이라고 합니다 컴퓨터에는 멀티대트킹을 위한 두 가지 도구가 있습니다 프로세스와 스레드 입니다 프로그램은 파일이 존재하지만 아직 메모리에 올라가있지 않은 상태 즉 실행되지 않은 코드의 집합을 말합니다 프로그램을 시행하는 순간 메모리에 올라가고 동작하게 되는데 이 상태의 프로그램을 프로세스라고 합니다 프로그램이 실행되면 메모리에 적재되고 프로세스가 됩니다 프로세스는 독립적으로 메모리에 등록되므로 여러 개의 프로그램을 동시에 실행할 수 있게 됩니다 이러한 프로세스 내부에 존재하면서 실행 흐름을 나타내는 것을 스레드라고 합니다 위에서 언급한 바와 같이 각각의 프로세스들은 메모리에 독립적으로 등록되어 서로 간섭할 수 없습니다 하나의 프로세스안.. 2024. 1. 18.
람다식 람다식은 함수의 이름이 없는 익명함수를 만들기 위한 표현식을 말합니다 자바는 객체를 기반으로 프로그램을 구현하는 객체지향 프로그램입니다 따라서 클래스를 먼저 생성하고 클래스 안에 메서드와 객체를 만들어 사용해야 합니다 하지만 함수형 츠로그래밍은 객체 지향 프로그햄과 달리 함수만을 구현하고 실행할수 있는 개발 방식 입니다 자바에서는 함수 즉 메서드를 사용하기 위해 많은 과정을 거치게 됩니다 이러한 과정을 생략하여 함수를 하나의 간결한 식으로 표현한 것이 람다식입니다 즉 식별자 없이 실행 가능한 함수를 말합니다 람다식 문법 자바스크립트나 다른 함수형 프로그래밍에서 볼 수 있었던 문법 패턴들로 기존의 자바 문법과는 달라서 객체 지햐ㅐㅇ 프로그래밍에 익숙한 개발자들은 다소 생소하게 다가올 수 있습니다 하지만 문.. 2024. 1. 15.
기본 API 클래스 01. 자바 APl문서 -자바에서 제공하는 APl는 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음을 말하며 라이브러리라고도 부릅니다 02. java.lang 패키지 java.lang 패키지는 자바 프로그램의 기본적인 클래스를 담고 있는 패키지입니다. 가령 우리가 Scanner를 사용하려 한다면 스캐너를 import해줘야 사용할 수 있었습니다 그러나 System,String 등과 같은 클래스는 따로 선언 없이 사용이 가능했습니다. 그 이유는 기본으로 기본으로 제공해 주는 java.lang 패키지에 속해 있었기 때문입니다 클래스 용도 Object 자바 클래스의 최상위 클래스로 사용 System 시스템의 표준 입력/출력 장치로부터 데이터를 입력 받거나 출력하기 위해 사용 자바 가상 기계를 종료할 .. 2024. 1. 11.
예외처리 예외 처리 에러와 예외 자바 프로그램을 실행하다 보면 갑자기 프로그램이 종료되거나, 어떤 원인에 의해 잘못 동작하여 오류 메시지가 나타나는 등 예기치 못한 오류가 발생합니다 자바는 에러또는 예외가 발생할 경우 해당 사항을 클래스로 관리합니다 컴파일 또는 실행 중에 문제가 발생하면 해당 문제에 따른 클래스 객체를 생성합니다. 우리는 이 클래스를 이용해서 프로그램 동작 중에 밸생하는 예외들을 처리할 수 있습니다 2. 에러(error) 에러는 시스템에 비정상적인 상황이 생겼을 때 발생합니다, 외부 요인일 수도 있고, 프로그램 구동 중에 발생하는 치명적 오류일 수도 있습니다 이러한 에러들은 객발자가 예측하거나 처리할 수 없는 영역입니다 에러의 종류 OutOfMemoryError : 프로그램 실행 중 메모리 부족.. 2024. 1. 6.
내부 클래스 내부 클래스 내부 클래스는 클래스안에 만들어진 또 다른 클래스로 중첩 클래스라고도 부릅니다 클래스에 다른 클래스를 선언하는 이유는 두 개의 클래스가 서로 긴밀한 관계를 맺고 있기 때문입니다 두 클래스 멤버들 간에 손쉽게 접근할 수 있습니다 불필요한 클래스를 감춰서 코드의 복잡성을 줄일 수 있습니다 보통 바깥쪽의 클래스를 외부 클래스 안쪽의 클래스를 내부끌래스라고 합니다 외부 클래스를 한 대의 자동차로 가정한다면 내부 클래스는 그 자동차를 구성하는 엔진 기어 방향지시등처럼 독립적으로 존재 하지만 자동차를 완성하는데 반드시 필요한 부품에 속합니다 public class OuterClass{ class InnerCalss{ } } OuterClass가 외부 클래스가 되고 클래스 안에 선언된 InnerCalss.. 2024. 1. 6.
추상 클래스와 인터페이스 추상 클래스와 추상 메서드 1.추상 메서드 다형성을 위해 메서드의 선언은 통일해야 하지만, 실제로 구현하는 내용은 자식 클래스마다 달라야 할 때, 부모 클래스의 메서드는 비워두고 자식 클래스에서 오버라이딩하여 구현해낼 수 있습니다 자바는 이와 같은 경우를 공식 지원하며 방법을 제공하고 있습니다. 우리는 선언부만 작성하고 구현부는 작성하지 않고 남겨둔 미완성 메서드를 추상 메서드라고 부릅니다 추상메서드를 선언할 때는 abstract키워드를 함께 표기해야합니다 또한 메서드 구현부인 중괄호 {} 대신 구현부가 없다는 의미로 선언부 끝에 세미콜론(;)을 사용합니다 [접근 제한자] abstract 반환 타입 메서드 이름(매개변수1,매개변수 2,...); 추상 메서드의 형태를 갖추게 되면 따라야 하는 제약 조건이 .. 2024. 1. 3.
디형성과 타입 변환 클래스에서의 타입 변환 타입 변환은 타입을 다른 타입으로 변환하는 것 자료형(타입) 변환 클래스의 객체 타입 변환 클래스의 타입 변환도 마찬가지로 자동 형 변환과 강제 형 변환이 있습니다. 단,자료형에 비해 타입 변환이 가능한 범위가 상당히 좁습니다. 클래스의 타입 변환은 서로 상속 관계에 있는 클래스 사이에서만 변환할 수 있습니다 클래스의 자동 타입 변환 자료형에서의 자동 형 변환과 마찬가지로 개발자가 직접 명시하지 않아도 자동으로 타입 변환이 일어나는 것을 클래스 자동 타입 변환이라고 부릅니다 클래스 자동 타입 변환은 상속 관계에 있는 자식 클래스의 객체를 부모 타입의 객체를 부모 타입의 객체를 부모 타입의 객체로 변환하는 것을 말 합니다 자식 객체를 만들면서 바로 부모 타입으로 변환 때는 다음과 같.. 2024. 1. 2.
상속 1. 상속 상속이란? 부모 역할을 하는 클래스가 자식 역할을 하는 클래스에게 클래스 멤버와 메서드를 물려주는 것을 상속이라고 합니다 상속은 클래스를 재상요하기 때문에 중복을 줄여주고 수정을 최소화하는 특징을 가지고 있습니다 상속해 주는 클래스를 부모 클래스 또는 상위 클래스 ,기반클래스 상속을 받는 클래스를 자식클랫스 또는 하위 클래스 ,파생 클래스 자바에서 상속을 구현하는 방법은 자식 클래스를 선언할 때 extends라는 키워드를 사용해 상속받을 클래스를 지명합니다 자식클래스에서 선택받은 클래스는 부모 클래스 역할을 하게 됩니다 부모 클래스의 상속을 받은 자식 클래스는 부모 클래스의 모든 멤버를 그대로 가져다 쓸 수 있습니다 2. 상속에서의 생성자 자식 클래스의 기본 생성자는 다릅니다 필트 초기화와 같.. 2023. 12. 30.
생성자 1. 생성자의 특징 생정자란? 클래스를 구성하는 구성 요소 중 하나인 생성자는 객체를 생성할 때 호출되어 객체의 초기와를 담당하는 특별한 메서드입니다 객체를 생성하고 초기화하기 위해서는 반드시 생성자를 호출해야 합니다 따라서 객체를 생성해야하는 라이브러리용 클래스는 모두 생성자를 가지고 있습니다 클래스 => 생성자 => 객채생성 생성자는 일반 메서드와 달리 반환 타입이 없으며 메서드 이름은 클래스 이름과 동일 합니다 클래스명(매개변수1,매개변수2){ } 생성자 호출 위치 일반 메서들과는 다르게 생성자는 호출할 수 있는 곳이 정해져 있습니다 생정자는 클래스를 기반으로 객체를 생성할 때 객체를 초기화를 담당하는 역할을 하므로 객체를 생성할 때만 호출할 수 있습니다 생성자 호출 방법 생성자를 호출할 때는 ne.. 2023. 12. 28.
메서드 1.메서드 메서드란 클래스 안에서 특정 기능을 수행하기 위해 코드들을 따로 하나의 블록으로 묶어 놓은 집합을 말합니다 메서드를 구현함으로써 같은 내용의 코드를 반복적으로 사용하는 것을 피할수 있습니다 반복되는 문장들을 묶어서 메서드로 작성해 놓으면 필요할 때마다 재사용이 가능하며 중복된 코드를 제거할 수 있습니다 메서드 선언 메서드는 크게 선언부와 실행 영역으로 구성 되어있습니다 접근 제한자 반환 타입 메서드 이름(){ //실행영역 } 접근 제한자 :변수와 마찬가지로 해당 메서드에 접근할 수 있는 범위를 결정합니다 반환 타입 : 메서드를 호출하면 메서드는 블록 안에 있는 코드들을 실행한 후 결과 값을 반환하는데, 어떤 타입으로 반환할 것인지 타입을 미리 정해 줍니다 반환 값이 없는 경우에는 반환 타입으로.. 2023. 12. 27.
클래스 1. 객체 지향 프로그래밍 2. 객체와 클래스 3. 클래스의 구성 4. 정적 멤버와 static 1.객체지향 프로그래밍(OOP) 객체는 일반적으로 상태를 표현할 수 있고 우리가 행동으로 실행할 수 있는 모든 것을 말합니다 우리는 이런 객체를 중심 으로 프로그램 구조를 설계하고 프로그래밍 하는 것을 객체 지향 프로그래밍이라고 합니다 2. 객체와 클래스 클래스란? 클래스란객체를 생성하기위한 제작 설명서입니다 클래스 선언 public class Car{ 접근제한자 클래스 이름 } 접근 제한자 : 변수와 마찬가지로 클래스의 접근 범위를 제한 합니니다 class : class를 선언함을 뜻합니다 클래스 이름 : 변수 처럼 이름을 가지고 객체를 생성할 때 사용합니다 클래스의 용도는 두가지가 있습니다 실행용: 프로그.. 2023. 12. 25.
배열 1.배열 2.배열의 구조 3.Arrays 4.다차원 배열 5.향상된 for문 1.배열 배열이란? 같은 자료형의 변수를 지정하여 여러 데이터를 저장할 수 있는 저장공간을 의미합니다 여러 데이터를 담을 수 있는 구조를 자료 구조라고도 합니다 배열을 사용하면 같은 자료형의 데이터들을 효율적으로 다룰 수 있습니다 배열의 선언 배열을 사용하려면 변수와 마찬가지로 배열을 선언해야합니다 자료형[] 변수 이름; => int [] arr; 자료형 변수 이름[]; int arr []; 대괄호는 배열의 연산자를 의미합니다 자료형 뒤에 붙이거나 변수명 뒤에 붙이면 해당 자료형은 배열이라는 의미로 선언됩니다 보편적으로는 자료형 뒤에 붙이는 것이 가독성이 높아 주로 사용됩니다 null 키워드 배열은 여러 개의 데이터를 저장하기 .. 2023. 12. 25.
SQL Server에서 다루는 자료형 정리하기 숫자형 정수,실수 등의 순자를 말한다 자료형 데이터 크기 설명 bit 1 불리언 형식으로 참 또는 거짓으로 사용 tinyint 1 정수 데이터를 사용하는 정확한 숫자 자료형으로 숫자를 저장할 때 가장 많이 사용 smallint 2 int 4 bigint 8 decimal(p,s) 5~17 전체 자릿수와 소수 자릿수가 고정된 숫자로 최대 38자리 사용 numberic(p,s) 5~17 float(n) 4~8 real 4 부동 소수점 숫자 데이터에 사용하는 근사 숫자 자료형 smallmoney 4 통화 단위에 주로 사용하여 1/10000까지 정확하게 표현 가능 숫자형 데이터를 사용할 떄는 형변환에 주의 해야한다 형변환이란 암시적 명시적으로 자료형을 변경하는 것이다 암시적 형 변환이란 직접 자료형을 변경하지 .. 2023. 12. 24.
제어문 - 2 반복문 반복문은 프로그램코드 내에서 똑같은ㄴ 명령을 반복하여 수행하도록 제어하는 명령문입니다 for문 주로 반복 횟수가 정해져있을때 사용합니다 for(초기화식 ;조건식;증감식){ } 초기화식 : 반복문에 사용할 변수를 초기화 합니다 조건식 : 반복 수행할 범위를 구현합니다 실행문 : 조건식이 true이면 false가 나올때까지 반복하여 실행문을 수행합니다 증감식 : 초기값을 증가하거나 감소시킵니다 중첩 for문 for문 안에 또 다른 for문을 사용하는 경우를 말합니다 while 문 반복 횟수가 정해져있지 않고 조건식이 true일경우 계속해서 반복하는 문법입니다 do-while문 while 문과 다른 점은 먼저 루프를 한 번 실행한후에 조건식을 검사합니다 continue 문 만나면 이후의 실행코드는 수행.. 2023. 12. 21.
제어문 -1 조건문 조건문은 조건식에 따라서 프로그램의 흐름을 제어할 수 있는 문법입니다 조건식의 true또는 false라는 boolean 결과에 따라 어떤구문을 실행할지 결정합니다 조건문의 종루 조건문은 크게 if문과 switch문이 있습니다 if문은 조건이 적을때 switch 조건이 많을때 사용하는 것이 효율적 입니다 if 문은 조건문중에서도 가장 기본이 되는 명령문이다 if(조건식){ 코드; } 조건식에는 true또는 false 즉 boolean 으로 결과를 확인할 수 있는 모든 식을 넣을 수 있습니다 만약 조건식을 만족하면 중괄호 안의 코드를 실행합니다 코드가 한줄이라면 중괄호를 생략할 수 있습니다 하지만 간결하고 가독성이 좋은 코드는 중괄호와 들여쓰기를 해야합니다 if-else문 만약 ~라면, 아니면 B를 .. 2023. 12. 21.
연산자 연산 연산이란 데이터를 처리하고 결과를 산출하는 작업을 말합니다 연산은 항과 연산자로 이루어지는 데 항은 연산에 사용되는 값을 말하며 연산자는 기호를 의미합니다 또한 항과연산자를 이용해 연산과정을 나열한 것을 연산식이라고 합니다 기본 연사자의 종류 피연산자의 개수에 따라 다음과 같이 크게 세가지로 분류합니다 단항연산자 : 피연산자 개수가 1개인 연산자 이항연산자 : 피연산자 개수가2개인 연산자 삼항현산자 : 피연산자 개수가 3개인 연산자 연산자 분류 종류 연산자 기능 단항 부호 +,-,*,/,% 사칙연산,나머지 계산 증감 ++,-- 음수,양수 부호 논리 ! 논리 부정 이항 논리 &,|,&&,|| 논리곱,논리합 문자열 + 문자열 연결 대입 =,+=,-=,*=,/=,%= 우변의 값을 좌변에 대입 비교 ==,.. 2023. 12. 16.
변수와 자료형 1.출력문 데이터를 콘솔화면에 출력하는 방법 System.out은 시스템의 표준 출력장치를 말합니다 System.out.print() : 괄호 안의 내용을 출력합니다(문자열로 인식) System.out.println() : 괄호 안의 내용을 출력하고 행을 바꿉니다 (문자열로 인식) System.out.printf() : 문자열을 서식문자를 이용해 형식화된 내용으로 출력합니다 System.out.print() , System.out.println() 출력문은 모든 데이터를 문자열로 인식하여 있는 그대로 출력하는 메서드입니다 반면 System.out.printf() 출력문은 값의 자료형에 따라 서식문자를 이용해 출력하는 데이터의 형식을 지정합니다 출력을 위한 서식문자 서식문자 출력형태 %d 정수(10진수) .. 2023. 12. 14.
자바 프로그래밍의 기본 1. 자바 소개 자바는 전 세계에서 가장 많이 사용하는 프로그래밍 언어 중 하나로 게임, 웹서버 ,안드로이드 앱 애플리케이션 등 다양한 프로그램을 개발하는데 사용되고 있다 2. 자바의 특징 객체 자향언어 객체 지향언어는 하나의 기능을 객체로 만들고 이러한 객체들을 결합해서 하나의 프로그램을 완성하는 기법을 말한다 자바는 대표적인 객체지향 언어로 상속, 캡슐화 다형성이 잘 나타난다. 단순성 C/C++을 기반으로 개발되었지마느 C/C++에서 제공하는 문법인 포인터 등 혼란을 일으키는 불필요한 기능을 제거했다 이식성 자바는 바이트코드를 생성하고 가상 머신을 이용해 자바 프로그램이 여러 운영체제에서 동일한 실행 결과가 나오도록 설계되어있다 따라서 운영체제 종류와 상관없이 어느 환경에서나 실행할 수 있습니다 멀티.. 2023. 12. 13.