Java 프로그램 작성 방법 클래스 단위로 프로그램을 작성 하나의 문장은 반드시 세미클론(;)으로 끝남 클래스의 이름은 첫 글자를 대문자로 시작하고 메서드의 이름은 첫 글자를 소문자로 작성 main() 메서드 : 프로그램의 시작 위치를 의미함. 가장 먼저 실행이 됨.
[문제] 이전까지 배운 println(), print(), 와 을 활용하여 출력해보자!! 이 름 : 0 0 0 연락처 : 010-0000-0000 이메일 : 0000@naver.com 주 소 : 00도 00시 코드===========================

+ : 덧셈의 의미 println(숫자 + 숫자); ==> 숫자 + : 연결의 의미 println("문자" + 숫자); ==> 문자숫자 println("문자" + 숫자); ==> 숫자문자 println("문자" + "문자"); ==> 문자문자 println("문자"
프로그래밍에서 가장 기본적으로 데이터를 저장하고 저장된 데이터의 값을 읽어 오는 것임! 따라서 데이터 값을 저장하려면 메모리에 값을 저장할 공간을 생성한 뒤 이름을 부여해야함 이를 위해서 변수가 필요한 것임!! 변수란? 하나의 데이터(값)을 저장할 공간을 생성하고 이

형변환(casting) : 해당 데이터 값의 자료형을 다른 데이터 타입의 자료형으로 변환하는 것을 말함. 형변환은 boolean 형을 제외한 7가지 자료형은 서로 형변환이 가능함 묵시적 형변환 : 자료형의 크기가 작은 데이터를 큰 자료형의 변수에 저장하는 경우 > 이

참이나 거짓을 판별(처리)하는 자료형true : 참인 값false : 거짓인 값boolean형의 기본 값은 false임.True / False ==> (x) 반드시 소문자로 작성!============================코드====================

연산 : 주어진 식을 계산하여 결과를 얻어내는 과정: 덧셈 (+), 뺄셈 (-), 곱셈 (\*), 나눗셈 (/), 나머지 (%)나머지(%) 연산자 : 홀수, 짝수 판별 / 배수 판별 시 사용됨============================코드=============
: 1개의 항을 대상으로 연산을 수행전위연산자 : 단항연산자가 변수명 앞에 오는 경우 ex) ++su1 혹은 --su1변수의 값을 하나 증가 혹은 감소 시킨 후 처리후위연산자 : 단항연산자가 변수명 뒤에 오는 경우 ex) su2++ 혹은 su2--변수를 처리한 후 값을

: 비트(0, 1)를 이용하여 연산하는 연산자& ( and ) : 두 비트의 조건이 참(1)인 경우 1을 반환그 외에는 0을 반환| ( or ) : 두 비트 중 하나만 조건이 참(1)인 경우 1을 반환그 외에는 0을 반환^ ( xor ) : 두 비트 중 서로 다른 경우

============================코드============================첫번째 숫자 : 8 / 두번째 숫자 : 3 입력 시: 숫자로 바뀌게 하는 배열 integer.parseint()============================코드

조건을 제시하여 참이면 실행하고, 거짓이면 무시하는 명령문조건식의 결과값은 boolean형만 올 수 있음실행문이 한 줄이면 { } (중괄호) 생략 가능하지만 실행문이 두 줄 이상인 경우에는 반드시 { } 가 안에 기재해야 함형식 : ====================

조건식이 참이면 참인 경우 실행문을 실행하고 if ~ else 블럭을 빠져 나옴조건식이 거짓이면 거짓인 경우 실행문을 실행하고 if ~ else 블럭을 빠져 나옴형식 : ============================코드=========================
다중 if ~ else if 문 : 분기문 (조건문) 여러 개의 조건 중에 맞는 조건에 해당하는 문장을 실행하는 구조 형식 : 코드============================ 실행============================ 
식(정수 또는 char) 을 사용하여 여러 개의 조건 중 하나를 선택하는 명령문jdk 1.7버전 부터는 식에 String 사용이 가능함형식 : ============================코드========================================

조건식을 비교하여 참인 경우 계속해서 반복 실행문을 실행하고 조건식이 거짓인 경우에 반복문을 빠져나가는 명령문while 반복문은 반복문의 횟수를 알 수 없는 경우에 많이 사용됨반복문에는 반드시 초기식, 조건식, 증감식이 존재해야 함형식 : 1 ~ 10을 출력해보자!==

: 먼저 실행문을 실행하고 난 후 조건식을 비교함형식)============================코드============================while문은 false일 시 실행을 하지 않지만do~while은 최소 한 번 출력을 하긴 함!

변수의 값을 이용하여 반복 실행하는 반복문일정 횟수에 대한 반복을 구현할 때 효율적으로 사용즉, 횟수를 알고 있는 경우에 자주 사용됨형식)실행순서 : 초기식 : 처음에 한 번만 실행(변수 선언 및 초기화)조건식 : 조건이 참이면 반복 실행, 조건이 거짓이면 for 반복

★★★★ 다중 for 반복문 ★★★★ 반복문 안에 또 다른 반복문을 포함하는 형태를 말함 반복문이 중첩이 되어 사용되는 경우를 말함 외부 반복문과 내부 반복문 간의 변수의 값 변화에 유의할 것! 형식) 코드============================ 실행=

break 명령어현재의 제어문을 빠져나가는 명령어보통은 switch ~ case 문과 반복문에서 사용됨반복문에서는 if문 블럭을 제외한 첫번째 블럭에서 빠져나가는 명령어if문으로 정수의 범위를 100까지로 지정하고, 정수가 51이 되면 실행을 멈추도록 화면에 출력해보자

배열(Array) 란? 하나의 이름으로 동일한 자료형의 데이터를 여러개 연속적으로 저장할 수 있는 메모리 공간을 할당 받는 것을 말함 변수는 하나의 값만을 저장하지만 배열은 여러개의 값을 저장할 수 있음 > 같은 자료형의 데이터들이 연속적으로 저장 됨 배열은 선언과

jdk 1.5 버전부터 추가된 기능주로 배열의 요소(값)를 처리(출력)할 때 사용함실행 방법 : 배열의 첫번째 인덱스(0)에 있는 데이터를 화면에 있는 변수에 저장하여 출력 함데이터 수 만큼 자동으로 반복하여 출력을 해줌 주의: 우변에 있는 배열명의 자료형과 좌변에

length 명령어배열의 크기(길이)를 알려주는 명령어배열의 크기(길이)를 정수값으로 알려줌형식 : 배열명.lengthex) int size = arr.length;============================코드============================

배열의 이름은 heap 메모리 영역의 배열이 만들어진 곳의 시작 주소값을 가지고 있기 때문에 아래의 문장은 다른 배열의 주소값을 복사해주는 명령어임ex) String str = new Stringsc.nextInt;String strcopy = str;즉, 배열의

다차원 배열1차원 배열이 여러개 묶여 있는 형태의 배열을 말함행과 열의 개념이 적용됨다차원배열 형식 : ex) int arr = new int3==> 3행 4열============================코드============================다차

메서드(Method) 란? 기능을 정의하는 단위 (예 : 덧셈기능, 뺄셈기능 등등) 하나의 기능만을 정의하는 것이 좋음 자주 반복되는 내용을 정의해놓고 필요할 때 호출하여 사용함 형식) 접근제한 : public > protected > default > privat
매개변수가 있는 메서드 형식) 실인수와 가인수 실인수 : 매개변수에 전달할 실제 값 ==> 메서드 호출 시 사용함 가인수 : 매개변수(가인수) ==> 메서드에 정의 ★실인수와 가인수는 반드시 type, 순서, 갯수가 일치해야 함★ 호출시에만 사용되고 초기화됨 코
메서드 호출 방식 2가지 1. call by value 방식 값을 전달하여 호출하는 방식 매개변수가 기본자료형(int, double 등등) 사용 ★★★★ 2. call by reference 방식★★★★ 주소값을 전달하여 호출하는 방식 매개변수가 참조자료형(배열, 클
main() 메서드는 아래 코드로 통일 - 값이 반환이 되는 경우 (method1) 코드============================ 실행============================ 변수명이 반환이 되는 경우 (method2) 코드=========
[문제] 성적 처리 프로그램 main() 메서드에서는 키보드로 이름, 국어점수, 영어점수, 수학점수를 입력 받고 총점 메서드, 평균 메서드, 학점 메서드를 호출하여 성적을 처리한 후에 화면에 성적 결과를 출력해보자 코드=========================

[문제] 두과목, 세과목, 네과목의 총점을 구하고 화면에 출력하세요

현실에서 객체는 갑자기 만들어지는 것이 아니라, 설계도를 바탕으로 만들어짐. 예를 들어 사람들이 자동차를 이용하기 위해서는 우선 공장에서 자동차 설계도를 보고 자동차를 만들어야 함. 객체지향 프로그래밍도 마찬가지임. 메모리에서 사용하고 싶은 객체가 있다면 우선 설계도로
TV의 색상, 전원, 채널을 멤버변수에 설정하고 TV의 전원이 켜졌을 때 채널을 하나씩 증가시키거나 하나씩 감소시키는 멤버 메서드를 만들어보자 코드============================ 또 다른 클래스 생성 코드======================

이름, 나이, 결혼여부의 멤버변수를 만들어보자!============================코드============================Person_03 클래스 생성이름 >>> 강감찬나이 >>> 34결혼여부 >>> 기혼을 화면에 출력해보자!========

형식) 클래스이름 참조변수 = new 클래스이름( ); ==> X클래스이름 참조변수 = new 생성자( );클래스를 대상으로 객체를 생성하는 역할을 함클래스 이름과 동일함클래스에 포함되어 있으며 객체를 생성할 때 자동으로 딱 한 번만 호출이 됨클래스는 생성자를 통해
자바에서 사용되는 용어들 1. 변수 : 프로그램이 끝날 때까지 언제든지 변할 수 있는 데이터 ==> 소문자로 시작 2. 상수 : 프로그램이 끝날 때까지 절대 변하지 않는 데이터 ==> 모든 글자가 대문자 ex) PI(파이) : 3.14.. 3. instatnce(

문제회원 객체의 멤버를 구성하여 멤버에 인자 생성자를 이용하고 초기값을 할당한 후 회원의 정보를 화면에 보여주세요============================코드============================회원 아이디, 이름, 나이, 연락처를 키보드로 입력

문제음료 자판기를 만들어보자!음료 (6개) : 콜라, 사이다, 옥수수수염차, 17차, 몬스터, 포카리스웨트=============================코드=============================Drink_08 클래스 생성================

객체지향 프로그램 4대 특징 중 하나임데이터를 감추기, 데이터를 외부에서 함부로 변경하지 못하도록 외부의 접근을 제한하는 방법객체를 캡슐로 써서 내부를 볼 수 없게 하는 것으로 객체의 가장 본질적인 특징임ex) 캡슐약 : 캡슐약에 든 약은 약이 어떤 색인지, 어떤 성분

객체지향 프로그램 4대 특징 중 하나실세계에서의 상속은 상위 객체의 속성이 하위 객체에 물려줘서 하위 객체가 상위 객체의 속성을 모두 가지는 개념자바에서의 상속은 자식클래스가 부모클래스의 속성을 물려 받고 기능을 추가하여 확장(extends)하는 개념상속은 슈퍼클래스의

** Person 클래스 생성 코드============================= Person 클래스를 상속 받을 Student 클래스 생성 코드============================= Person 클래스를 상속 받을 Employee 클래스

메서드 재정의 (Method Overriding) 이란? : 부모 클래스에서 정의한 메서드를 자식 클래스에서 자식 클래스에 맞게 다시 작성(재정의) 하는 것을 말함 [메서드 재정의 특징] 반드시 ★상속 관계★ 에서만 발생함 (메서드 다중 정의 : 동일한 클래스 내에서

인터페이스(interface) 란? 1. 완벽한 추상화를 제공 : 일종의 추상 클래스임. 하지만 추상 클래스보다 추상화 정도가 더 높음 실제 구현된 것이 전혀 없는 기본 설계도 (알맹이 없는 껍데기) 추상 메서드(알맹이 없는 껍데기)와 상수만을 멤버로 가짐. 인스턴스

인터페이스끼리 상속 받을 경우에는 extends를 사용함클래스가 인터페이스를 상속 받을 경우에는 implements를 사용함=============================코드==================================================

추상 클래스에서 error 발생 처리 방법 - 2가지1\. 자식 클래스에서 추상 메서드를 재정의 ( O )2\. 자식 클래스에서 추상 메서드를 재정의 하지 않는 경우 : 자식 클래스 이름 앞에 abstract 키워드를 붙여야 함<예시>추상 클래스 Super 클래스

다형성(polymorphism)이란?객체지향 프로그램의 4대 특징 중 하나 (상속과 연관성이 많음)다형성의 사전적 의미 : 같은 종의 생물이지만 모습이나 특징이 고유의 성질을 가지고 있는 것을 말함 ex) 고양이과 - 고양이, 삯, 호랑이 등여러가지 모습으로 해석될 수

접근지정자(접근제어자) 접근지정자는 클래스, 멤버변수, 멤버메서드 앞에 사용이 됨 외부로부터 접근을 제어한다는 의미를 가지고 있음 접근지정자가 사용될 수 있는 곳 : 클래스, 멤버변수, 멤버메서드, 생성자 이들과 같은 접근지정자 중 protected, private
클래스나 멤버변수, 멤버메서드에 적용해서 사용함클래스 : 변경할 수 없는 클래스, 확장할 수 없는 클래스.final 로 지정된 클래스는 다른 클래스의 조상(부모) 클래스가 될 수 없음 (extends 할 수 X)멤버메서드 : 변경될 수 없는 메서드.final로 선언된

DB에 접근하여 테이블의 특정 컬럼에 값을 저장하거나 저장된 값을 가져올 때 사용하는 클래스Java Bean == DTO(Data Transfer Object) == VO(Value Object)구성 요소멤버변수 - DB 컬럼명 : 접근지정자(private)setter

에러(error) 하드웨어의 오동작 또는 고장으로 인한 오류 에러가 발생하면 프로그램 종료 정상 실행 상태로 돌아갈 수 없음 예외(exception) 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인한 오류 예외가 발생하면 프로그램 종료 예외 처리를 추가해 주면 정상 실행 상태로 돌아갈 수 있음 프로그램을 위한 보험 처리. 위험한 상황에서 다른 코드...

예외 처리 실행하는 단계에서 발생한 오류(예외)를 프로그램적으로 처리한다는 의미 관련 키워드 try ~ catch ~ finally 블럭 throws 키워드 위 두 개 중 1. try ~ catch ~ finally 블럭 형식)

catch 문을 여러 개 사용하여 처리하는 방식catch 문은 순차적으로 위에서 아래로 실행이 됨주의) 예외를 처리하는 가장 최상위의 Exception 클래스는 맨 마지막에 나와야 함 (만약 맨 첫 줄에 나오는 경우 error 발생)<예시>=============

예외 처리를 위임시키는 명령어형식) 메서드명 throws 예외처리클래스 { }throws 로 지정된 메서드를 호출하는 경우메서드 내에서 예외가 발생하면 해당 예외를 메서드를 호출한 곳으로 위임시켜서 예외를 처리하는 방법===========================

지정된 범위 내에서 임의의 난수를 발생시키는 클래스활용 분야 : 게임, 확률 등에서 사용됨형식) nextInt(가장 큰 수) + 시작 수<예시>=============================코드=============================max( )

날짜 / 시간과 관련된 정보를 제공해주는 클래스Calendar 클래스는 추상클래스임추상클래스로 작성한 이유 : 날짜와 시간을 계산하는 방법이 나라, 지역마다 다르기 때문Calendar 클래스는 날짜와 시간을 계산하는데 꼭 필요한 메서드나 상수로 구성 되어 있음Calen

String 클래스의 특징 : 문자열 객체를 처리하는 클래스 객체 생성 방법 - 2가지 일반 변수 선언 방법으로 객체 생성 ex) String str1 = "홍길동"; String str2 = "홍길동"; new 키워드를 이용하여 객체 생성 ex) St

String 클래스의 단점빈번하게 문자열 연산을 진행할 경우 메모리를 많이 차지하게 됨매번 연산 할때마다 새로운 객체를 생성하게 됨==> 메모리 영역의 과부하가 발생할 가능성이 큼이러한 다점을 개선한 클래스가 등장 함==> StringBuffer 클래스<예시1>a

java의 모든 클래스의 조상 클래스임사용자가 정의한 클래스에 자동으로 상속이 됨==> 단, extends 키워드를 사용하지 않은 클래스에만 상속이 됨 toString( ) : 객체 자신의 정보를 문자열로 반환하는 메서드. 인스턴스에 대한 정보를 문자열로 제공할 목적으

1\. 일반적인 선언 방법==> 하나의 java 파일에 class 키워드를 작성하여 클래스 선언2\. 무명 클래스(anonymouns class) 선언==> 이름이 없는 클래스 선언. interface를 객체 생성 시 많이 사용이 됨3\. 중첩 클래스(inner cla

Member 클래스 생성=============================코드=============================메인메서드에서 객체를 생성할 Member_01클래스 생성=============================코드===============

wrap : 감싸다, 포장하다기본 자료형을 클래스 타입으로 포장해 놓은 클래스기본 자료형보다 객체로 저장하기 때문에 좀 더 다양한 기능을 제공하기 위해서 사용함기본 타입의 값을 내부에 두고 포장하기 때문에 포장(wrapper) 클래스라고 하기도 함기본 자료형 : byt

포괄적인, 총괄적인, 일반적인자바에서 제니릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미==> 즉, 자바에서 제네릭은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 말함 객체별로 다른 타입의 자료

StringType의 클래스 생성=============================코드=============================IntegerType 클래스 생성=============================코드=======================

컬렉션의 사전적 의미 : 수집해서 모으다, 저장한다는 의미자바에서 배열은 여러 개의 데이터를 다루는데 편리한 자료구조이지만 삽입과 삭제가 빈번하고, 데이터의 크기를 예측할 수 없는 응용 프로그램에서는 사용하기가 어려움예를 든다면 많은 사람의 이름과 전화번호를 저장하고

원래 의미는 무엇인가 많이 모여 있는 것들을 순서대로 지정하면서 전체를 검색하여 처리를 실행하는 객체단어의 뜻은 '반복하다' 라는 의미==> 자바의 컬렉션 프레임워크에서 컬렉션에 저장되어 있는 데이터들을 읽어 오는 방법을 표준화 해놓은 객체 ※ 주요 메서드 :

후입선출(LIFO : Last In First Out) 구조임선입후출(FILO : First In Last Out) 구조임: stack에 데이터를 넣는 메서드stack에 저장된 데이터를 가져오는 메서드stack의 맨 위(마지막에 저장된 데이터)에 저장된 데이터를 가져오

Queue 자료 구조 queue는 인터페이스여서 자식클래스로 객체를 생성하여 사용함 대표적인 자식 클래스는 LinkedList 객체임 특징 : 선입선출(FIFO : First In First Out) 구조임 1. add( ) : queue에 저장하는 메서드 queue

자료의 순서가 없음(index가 없음 - 정렬 기능 없음)중복 데이터 허용 불가 (주소값이 없음)Set 인터페이스의 자식 클래스를 이용하여 구현==> HashSet(O), TreeSet(X): 데이터를 추가하는 메서드: set의 크기를 정수값으로 반환해 주는 메서드 =

key, value를 한 쌍으로 해서 데이터를 저장하고 검색하는 기능을 제공함key는 중복 불가, value는 중복 가능Map 인터페이스의 자식 클래스를 이용하여 구현==> HashMap(O), HashTable(O), Properties(가끔), TreeMap(X):
Java에서의 입출력(IO : Input / Output) 방식 스트림이라는 방식을 이용함 스트림의 사전적 의미 : 시냇물이라는 뜻을 가지고 있음. 즉, 데이터가 물 흐르는 것처럼 흐른다고 생각하면 됨 Java에서의 스트림 : 순서가 있는 일련의 연속된 데이터 스트림

Java 스트림의 종류 바이트 스트림 관련 클래스 : 바이트 스트림 방식으로 데이터를 입출력하는 클래스 > xxxInputStream / xxxOutputStream 문자 스트림 관련 클래스 : 문자 스트림 방식으로 데이터를 입출력하는 클래스 > xxxReader

보조 스트림 : 다른 스트림과 연결되어 여러 가지 편리한 기능을 제공해주는 스트림을 말함보조 스트림은 중간에 메모리 버퍼(buffer)와 작업을 함으로써 실행의 성능을 향상시킬 수 있음예를 든다면, 프로그램은 직접 하드 디스크에 데이터를 보내지 않고메모리 버퍼에 데이터

1바이트 단위로 파일을 처리하는 바이트 기반 입출력 파일 스트림그림(이미지), 오디오 파일, 비디오 파일 등 모든 종류의 파일 처리가 가능함2바이트 단위로 파일을 처리하는 문자 기반 입출력 파일 스트림문자 단위로 파일을 처리하기 때문에 그림, 오디오 파일 등은 처리가

File 클래스 파일 및 디렉토리(폴더)를 만들어 주는 클래스 파일 입출력 시에 사용됨 파일 디렉토리에 대한 경로명, 크기, 타입, 수정 날짜 등의 속성을 제공함 또한 파일 삭제, 디렉토리 생성, 파일 이름 변경, 디렉토리 내의 파일 리스트 제공 등 다양한 파일 관리

현재 CPU에 의해서 처리되고 있는 프로그램운영체제로부터 메모리를 할당 받음자바에서는 하나의 클래스를 말함무한 반복을 가진 프로세스를 실행할 경우 CPU가 해당 프로세스를 놓지 않기 때문에 다음 프로세스를 실행할 수 없음이러한 문제점을 해결하기 위해서 Thread라는

process를 작은 단위로 쪼개어 놓은 작업 단위==> 실제 프로그램이 수행이 되는 작업의 최소 단위스레드는 병행 처리를 지원함(멀티태스킹)응용분야 : 게임, 채팅 등등1) Thread 라는 클래스를 상속(extends) 받음2) run() 메서드를 재정의 - 스레드

코드의 집중화로 가독성이 높아진다별도의 상속 과정이 필요가 없어진다=============================코드=============================i와 j의 값이 번갈아가며 무한반복으로 출력

멀티 스레드 : 하나의 스레드 클래스를 대상으로 2개 이상의 스레드 객체를 생성하는 기법스레드 이름 지정 : 멀티 스레드에서 생성한 스레드 객체에 이름을 부여하는 과정을 말함형식) super(name);멀티 스레드는 자신의 이름을 가지고 있음스레드의 이름이 스레드에서

메서드를 하나의 '식(expression)'으로 표현한 것람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로 "익명(무명)함수" 라고도 함함수명을 선언하고 사용하는 것이 아닌 식별자 없이 실행 가능한 함수를 말함절차형 프로그래밍, 객체지향 프로그래밍과는 사뭇 다르게

=============================코드=============================위의 메서드들을 활용하여 무명 클래스의 표현 방식과 람다식 표현 방식을 살펴보자!=============================코드==============