
파일 다운로드 및 설치 java 다운로드 링크 위 텍스트 링크 클릭 -> Java SE링크 클릭 -> JDK다운로드 링크 클릭 -> 라이센스를 동의 한 후 운영체제에 맞는 JDK를 다운로드 (32비트 윈도우 운영체제-Windows x86을, 64비트 윈도우 운영체제

: 값을 저장할 수 있는 메모리 공간, 값이 음식이라면 변수는 그릇!=> 음식의 크기에 따라 그릇의 크기도 달라짐첫 번째 문자가 소문자인 명사로 정함여러 단어로 구성된 이름의 경우 두 번째 단어부터 첫글자를 대문자로 함'\_'을 쓰지 않음: 클래스, 메소드, 변수 등

: 가장 기본이 되는 데이터 타입으로써 정수형, 실수형, 문자형, 불린형을 의미한다.boolean크기가 1bytetrue와 false 중에 한 가지 값을 가짐char2byte 크기문자는 작은따옴표를 이용하여 한 글자를 표현int, long, ...정수를 표현하는 데이터

: 부호(+,-), 증감(++,--), 이항(+,-,\*,/,%)연산식 ex) x = y + z;일 때y와 z를 더한 값을 x에 대입한다는 것을 의미=과 +는 연산자인데 =은 대입연산자이고, + 은 산술연산자이다. y와 z는 피연산자이다. x = y + z는 연산식이다

if 조건문 : 조건식의 연산 결과에 따라 블록 내부 코드 실행 여부를 결정한다. if문 조건식이 true일 경우에만 실행문이 실행된다. if(조건식) {} 형식이다. if(조건식) 다음의 {}를 생략할 수 있다. 하지만, 생략할 경우에는 if문에 포함되는

: 논리곱(&&,&), 논리합(||,|), 배타적 논리합(^), 논리부정(!) 연산을 수행하는 연산자이다. 결과는 항상 boolean 값이다. 논리곱(&&, &)피연산자가 모두 true일 경우에만 연산 결과가 true이다. System.out.println(b1 &&

: 어떤 변수의 값에 따라서 문장을 실행할 수 있도록 하는 제어문이다. switch문에서 사용하는 키워드는 switch, case, default, break 이다.switch문 형식ex)value의 값이 1일 경우 1을 출력하고, 2일 경우는 2를 출력하고, 3일 경

: 실행문을 반복적으로 실행해야 할 때 사용한다. 반복문의 종류는 while문, do-while문, for문이 있다. 조건문의 실행 결과가 true일 동안 반복해서 실행된다. 형식:10번 반복하면서 0부터 9까지 출력하는 반복문1부터 100까지의 합을 while문을 이

for 반복문은 변수 초기화, 조건식, 증감식이 모두 한 줄에 있다. 초기화 식은 최초 한 번만 수행한다. 조건식을 수행해서 수행결과가 false라면 for 반복문을 실행하지 않고, 밖으로 빠져 나간다.수행 결과가 true라면 내부 블럭 실행문을 수행한다.증감식을 수행

배열: 같은 데이터 타입을 가진 연속된 메모리 공간으로 이루어진 자료구조 같은 데이터 타입을 가진 여러 개의 변수가 필요할 때 사용한다. 배열 생성 방법 정수를 4개 저장할 수 있는 배열 생성 배열에 값 저장

2차원 배열 생성 방법정수를 4개씩 담을 수 있는 배열을 3개 생성2차원 배열에 값을 저장하는 방법arr1 = 10; 이렇게 사용하면 오류! 2차원 배열에서 arr1은 또 다른 1차원 배열을 가리키는 참조형 변수이기 때문에 값을 담을 수 없다.올바른 값 저장법가변크기

자바는 객체를 만들기 위해 반드시 클래스를 먼저 만들어야 한다. 클래스는 객체를 만들기 위한 일종의 반드시 있어야 하는 틀!!붕어빵이 객체라면, 붕어빵 틀은 클래스자동차 클래스 생성해보기Car.java란 파일을 만든다.저장을 하면 이클립스는 자동으로 컴파일해서 디스크에

참조형 타입은 기본형 타입을 제외한 모든 타입이다.배열도 참조형이고, 클래스도 모두 참조 타입이다.참조형 변수str 변수 앞에 기본형 타입이 아닌 String 클래스가 적혀있다.등호(=) 뒤에는 new 다음에 생성자라는 것이 있다. new 라는 키워드는 객체를 메모리에

자동차는 자동차 이름, 자동차 번호를 가지고 있다.여기서 가지고 있는 것을 속성이라고 한다. 자바에서는 이러한 속성을 필드(field)라는 용어로 사용한다.이름과 번호를 필드로 가지고 있는 Car 클래스 선언Car 클래스를 인스턴스화속성 이용:참조 변수 다음에 점(do

메소드란: 필드가 물체의 상태라면, 물체의 행동에 해당하는 게 메소드이다. car에 이름과 번호가 있기도 하지만, car는 앞으로 전진할 수도 있고 후진하는 행동도 할 수 있다.메소드는 입력값이 있고, 그 입력값을 받아서 무언가 한 다음 결과를 도출해 내는 수학의 함수

str.length()문자 길이 구하는 메소드str.length()는 str이 참조하는 문자열의 길이를 구해서 int 타입으로 리턴해주는 메소드이다.str.concat()()안에 있는 문자열을 str문자열 뒤에 붙이는 메소드이다.메소드 인자로 들어온 문자열을 붙혀서 S

같은 클래스 내에 있음에도 변수들을 사용할 수 없다.클래스 속성으로 선언된 변수 globalScope의 사용 범위는 클래스 전체이다.하지만, main 메소드는 static 이라는 키워드로 메소드가 정의되어 있다. 이런 메소드를 static한 메소드라고 한다. stati

자바는 열거타입을 이용하여 변수를 선언할 때 변수타입으로 사용할 수 있다.열거형은 JDK5에서 추가되었다.JDK5 이전에는 상수를 열거형 대신 사용하였다.열거형 대신 상수를 이용하는 방법상수를 사용했을 때의 문제점String으로 선언된 gender1에는 MALE, FE

모든 클래스는 인스턴스화 될 때 생성자를 사용한다.생성자의 특징생성자는 객체의 필드 값을 초기화하는 역할을 한다.생성자는 리턴타입이 없다.생성자를 프로그래머가 만들지 않으면 매개변수가 없는 생성자가 컴파일할 때 자동으로 만들어진다.매개변수가 없는 생성자를 기본생성자라고

this 키워드의 의미: this는 현재 객체, 자기 자신을 나타낸다.this의 사용 이유Car 클래스의 생성자 매개변수 이름이 n이다. n이라는 변수명은 무엇을 의미하는지 쉽게 알 수 없다.n으로 쓰기 보다는 아래와 같이 name으로 사용하는 것이 좋다. 'name

: 매개변수의 유형과 개수가 다르게 하여 같은 이름의 메소드를 여러 개 가질 수 있게 하는 기술메소드 오버로딩 방법이름은 같지만 매개변수가 달라야 한다.변수명은 다르지만, 매개변수의 타입과 개수가 동일한 메소드를 또 정의 할 수 없다.오버로딩은 메소드의 매개변수 타입이

: 부모 클래스가 가진 것을 자식 클래스에게 물려주는 것을 의미한다.학생은 사람이다.소방차는 자동차다.이렇게 말할 수 있는 관계를 is a 관계 혹은 kind of 관계 라고 한다.상속 사용 방법자바는 클래스 이름 뒤에 extends 키워드와 부모 클래스 이름을 적게

: 클래스 내에서 멤버의 접근을 제한하는 역할을 한다.접근제한자의 종류public어떤 클래스든 접근할 수 있다.protected자기 자신, 같은 패키지, 서로 다른 패키지이더라도 상속받은 자식 클래스에서는 접근가능하다.private자기 자신만 접근할 수 있다.접근제한자

구체적이지 않은 클래스를 의미한다. 독수리, 타조는 구체적인 새를 지칭한다. 새, 포유류 같은 것은 구체적이지 않다.구체적이지 않은 것들을 구현한 클래스를 추상클래스라고 한다.추상클래스 정의추상 클래스는 클래스 앞에 abstract 키워드를 이용해서 정의한다.추상 클래

class가 인스턴스화 될 때 생성자가 실행되면서 객체를 초기화한다. 그 때 자신의 생성자만 실행 되는 것이 아닌, 부모의 생성자부터 실행된다.부모생성자생성자 테스트실행결과Car의 기본생성자입니다.Bus의 기본생성자입니다.자식생성자 초기화할 때, 부모생성자 동시 생성n

오버라이딩 정의부모 클래스가 가지고 있는 메소드와 똑같은 모양의 메소드를 자식이 가지고 있는 것이다. 즉 오버라이딩이란 메소드를 재정의하는 것이다. 메소드 오버라이딩Car 클래스를 상속받은 Bus 클래스는 부모클래스가 가지고 있는 run() 메소드를 사용할 수 있다.자

부모타입으로 자식객체를 참조하면 부모가 가지고 있는 메소드만 사용할 수 있다. 자식객체가 가지고 있는 메소드나 속성을 사용하고 싶다면 형변환 해야 한다.형변환상속관계란 'is a' 관계이다. "Bus는 Car이다"라는 관계가 성립된다. 부모타입으로 자식객체를 참조할 수

인터페이스(Interface): 서로 관계가 없는 물체들이 상호 작용을 하기 위해 사용하는 장치나 시스템인터페이스 정의하는 방법추상 메소드와 상수를 정의할 수 있다.추상 메소드: 내용이 없는 메소드, 즉 구현이 되지 않은 메소드인터페이스에서 변수를 선언하면 컴파일시 자

인터페이스가 default 키워드로 선언되면 메소드가 구현될 수 있다. 인터페이스가 변경이 되면, 인터페이스를 구현하는 모든 클래스들이 해당 메소드를 구현해야 하는 문제가 있다. 이런 문제를 해결하기 위하여 인터페이스에 default 메소드를 구현해 놓을 수 있도록

내부클래스란 클래스 안에 선언된 클래스이다.어느 위치에 선언하느냐에 따라 4가지 형태가 있다. 1 중첩클래스, 인스턴스 클래스: 필드(=인스턴스 변수)를 선언하는 위치에 클래스 선언된 경우내부에 있는 Cal 객체를 생성하기 위해서는 밖에 있는 InnerExam1의 객체

익명 중첩클래스는 익명 클래스라고 보통 말하며, 내부 클래스이기도 하다.생성자 다음에 중괄호 열고 닫고가 나오면, 해당 생성자 이름에 해당하는 클래스를 상속받는 이름없는 객체를 만든다는 것을 뜻한다.괄호 안에는 메소드를 구현하거나 메소드를 추가할 수 있다. 이렇게 생성

Exception 정의프로그램 실행 중 예기치 못한 사건을 예외라고 한다. 예외 상황을 미리 예측하고 처리할 수 있는데, 이렇게 하는 것을 예외처리라고 한다.위 코드에서 나누는 수(j)가 0이라 ArithmeticException이 발생하면서 프로그램이 종료된다. Ja

예외가 발생했을 때 예외를 호출한 쪽에서 처리하도록 던져준다.메소드 선언 뒤에 throws ArithmeticException이 적혀있는 것을 알 수 있다. divide 메소드는 ArithmeticException이 발생하니 divide 메소드를 호출하는 쪽에서 오류를

checkedExceptionException 클래스를 상속받아 정의한다.반드시 오류를 처리해야만 한다.예외처리 하지 않으면 컴파일 오류를 발생시킨다.unCheckedExceptionRuntimeException 클래스를 상속받아 정의한다.예외처리하지 않아도 컴파일 시

: 자바는 기본적으로 다양한 패키지를 지원하는데, 그중에서 가장 중요한 패키지가 lang 패키지이다. lang패키지에 존재하는 클래스들Wrapper: 기본형 타입을 객체로 변환시킬 때 사용Boolean, Byte, Short, Integer, Long, Float, D

: 아무 값도 가지고 있지 않은 String 객체이다. StringBuilder 사용 예시출력결과: hello worldStringBuilder 가지고 있는 메소드들은 대부분 자기자신, this를 반환자기 자신의 메소드를 호출하여 자기 자신의 값을 바꿔나가는 것을 메소

: 이름 그대로 수학 계산을 위한 클래스이다.코싸인, 싸인, 탄젠트, 절대값, 랜덤값 등을 구할 수 있는 클래스이다. Math 클래스는 생성자가 private으로 되어 있기 때문에 new 연산자를 사용하여 객체를 생성할 수 없다. 객체를 생성할 수는 없지만 모든 메소드

: 중복을 허용하지 않고 순서도 없는 자료구조를 표현하는 인터페이스, Collection 인터페이스를 상속받고 있다.set 자료구조 자체는 인터페이스이기 때문에 구현할 때에는 HashSet이나 TreeSet을 이용해 구현해주어야 한다. HashSet 자료구조 구현 예시

: list는 데이터의 중복이 있을 수 있고, 순서도 있는 자료구조를 표현한다. Set 인터페이와 마찬가지로 Collection 인터페이스를 상속받고 있다.배열은 한 번 생성하면 크기 변경이 불가하다면, 리스트는 저장공간을 필요에 따라 자유롭게 생성이 가능하다.List

: key와 value를 쌍으로 저장하는 자료구조이다. 키는 중복될 수 없고, 값은 중복될 수 있다.저장할 때 put()메소드를 이용해서 key와 value를 함께 저장한다. 원하는 값을 꺼낼 때는 key를 매개변수로 받아들이는 get()메소드를 이용하여 값을 거낸다.

: 날짜와 시간을 구하기 위한 클래스Date 클래스는 JDK 1.0때에 만들어졌고, Calendar 클래스는 JDK 1.1에 만들어졌다.Date는 지역화에 대한 부분이 고려되지 않았다.지역화란, 지역에 따라 시간, 통화(달러 등) 언어 등에 대하여 고려하는 프로그래밍을

: Date의 단점을 해결하고 등장한 것이 Calendar 클래스, util 패키지에 속한다.Calendar 클래스 생성 방법Calendar 클래스는 추상클래스이다. -> new 라는 것을 이용해서 인스턴스를 생성할 수 없다.Calendar 클래스에 대한 인스턴스를 생

: Java에서 제공하는 Date, Time API는 부족한 기능 지원을 포함한 여러가지 문제점을 가지고 있었다. JDK에서 이런 문제점들을 해결하고 더 좋고 직관적인 API들을 제공하기 위해 새롭게 재디자인한 Date, Time API를 Java SE 8부터 제공한다

: 자바 프로그래밍 언어의 기능 중 하나로, 코드에 메타데이터(추가정보)를 추가하는 방법을 제공한다. 이 메타데이터는 컴파일러, 런타임 라이브러리 또는 다른 도구들에게 프로그램에 대한 추가적인 정보를 제공한다.어노테이션 특징어노테이션은 클래스나 메소드 위에 붙는다. @

: 동시에 여러 작업을 수행하기 위한 실행 흐름을 나타낸다. 각 쓰레드는 독립적인 실행 경로를 가지며, 하나의 프로세스 내에서 여러 쓰레드가 동작할 수 있다. 이를 통해 여러 작업을 병렬 또는 동시에 처리할 수 있다.1\. Thread를 상속 받아서 쓰레드를 생성하는

: 람다식은 간결하고 효율적인 방법으로 익명 함수를 생성할 수 있게 해준다.일반적으로, 람다식은 다음과 같은 형태를 가진다.람다식 기본문법(매개변수목록)->{실행문}parameters는 메소드의 매개변수를 나타내고, statements는 메소드의 바디를 나타낸다. 람다