접근 제어자는 클래스, 메서드, 변수 등의 접근 범위를 제한하기 위해 사용된다. 이들은 객체 지향 프로그래밍의 캡슐화 원칙을 지원하는 기능 중 하나이다.\*\*//캡슐화란, 클래스의 내부 데이터를 외부에서 직접 접근하지 못하게 하여 인터페이스만을 통해 데이터를 접근할
자바에서 생성자(Constructor)는 객체가 생성될 때 자동으로 호출되는 메서드이다.클래스 이름과 동일 : 생성자의 이름은 클래스의 이름과 정확하게 같아야 한다.반환값이 없다 : 생성자는 반환값이 없고, 'void'도 사용하지 않는다.자동 호출 : 객체가 생성될 때
같은 이름의 메서드를 한 클래스 내에 여러 개 정의하는 것을 말한다. 메서드 이름이 동일해야 한다.매개변수의타입, 개수, 순서가 달라야한다.반환 타입이나 접근 제어자가 다른 경우에는 오버로딩으로 간주되지 않는다.상속 관계에 있는 부모 클래스로부터 상속받은 메서드의 내용

추상 클래스추상적인 데이터를 담고 있는 클래스(실체가 존재하지 않는다.)추상 메서드가 하나라도 있는 클래스는 반드시 추상 클래스로 선언해야 한다.//public abstract void sound();추상 메서드는 상속 받는 자식 클래스가 반드시 오버라이딩해서 사용해야
변수나 반환값의 데이터 타입을 다른 타입으로 변환하는 과정자동(묵시적) 캐스팅 , 강제(명시적) 캐스팅으로 나뉜다.프로그램에서 명시적으로 캐스팅 연산자를 사용하지 않아도 자바 컴파일러가 자동으로 타입을 변환해주는 경우를 말한다. 보통은 작은 크기의 데이터 타입에서 큰

ArrayList ArrayList는 Vector를 개선한 것으로 구현원리와 기능이 동일하다. //단, Vector는 자체적으로 동기화가 되어 있지만, ArrayList는 동기화가 되어 있지 않다. List 인터페이스를 구현하기 때문에, 순서가 유지되고, 중복을 허용

Last in First out 구조이다. 마지막에 저장된 것을 제일 먼저 꺼낸다.//배열 사용First in First out 구조이다. 제일 먼저 저장한 것을 제일 먼저 꺼낸다.//LinkedList 사용참고로 boolean add(Object o), Object

객체(Object)들이 모여서 상호 협력하면서 데이터를 처리하는 방식// 프로그램을 묶음 단위로 쪼개서, 추후에 가져다 쓰기 편하게 만들어 놓은 프로그램 방식!!무엇!!을 중심으로 프로그래밍객체 지향은 설계가 핵심!함수를 이용해서 틀을 만들고 이를 결합해서 프로그램을

프로그램이 실행하고 작동하는데는 아무런 문제가 없는 오류컴퓨터가 알려주지 않고 프로그램이 정상적으로 실행되므로 개발자가 코드를 체크할 필요가 있다.빨간색으로 표시되는 것프로그램 실행 중에 에러가 발생해서 잘못된 결과를 낳음 or 외부적인 요인으로 인한 프로그램의 종료T
throw 키워드는 메서드 내에서 사용되며, 개발자가 직접 예외를 발생시키고자 할 때 사용된다. 즉, 특정 조건에서 예외를 강제로 발생시키기 위해 사용된다.throw는 단일 객체를 인자로 받으며, 이 예외 객체는 new 키워드를 사용하여 생성된다.예외가 throw되면,
예외처리를 각 메서드에서 하기 때문에 , 오류가 나더라도 코드는 모두 실행이 된다.오류가 나면 바로 cath문으로 들어가기 때문에, 뒤에 있는 메서드가 실행되지 않는다.// 이를 유의해서 각 코드에 맞게 try-catch문의 위치를 잡아주는 것이 중요하다.

A는 B의 외부 클래스, B는 A의 내부 클래스클래스 내부에 선언된 다른 클래스 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근 가능//객체 생성 없이도 B 클래스는 A 멤버로 접근이 가능하다. 코드의 복잡성을 줄인다.(캡슐화)위와 같이 어느 클래스에서 다른 클래스로
이름이 없는 일회용 클래스(정의, 생성을 동시에 한다.)클래스 선언과 동시에 객체 생성생성자 존재 X(클래스 이름이 없기 때문)위와 같이 자식 클래스가 부모 클래스의 상속을 받기 위해서는 extends를 사용하여 클래스를 만들고, Animal a= new Dog() 과
람다식 자바 메서드를 간결한 함수식으로 표현한 것. 기존에 메서드를 선언할려면 클래스를 정의해야 했다. 람다식은 메서드 이름과 반환값 생략이 가능하고,자바 코드가 간결해져서 가독성이 좋다. 타입을 생략해도 오류가 안 나는 이유는 컴파일러가 생략한 타입 위치를 추론
제네릭 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 방법 객체별로 다른 타입의 자료가 저장 ** 사용 list 클래스의 자료형 타입은 String으로 지정되어 문자열 데이터만 리스트에 적을 수 있다. 제네릭은 객체(Object)에 타입을 지정해주는 것이다

이 부분은 양이 방대하기 때문에, 여러번 반복적으로 빠르게 전체적으로 실습하는것이 중요!컬렉션여러 객체(데이터)를 모아 놓은 것List와 Set의 공통적인 부분을 뽑아서 Collection을 만든 것이다.framework표준화, 정형화된 체계적인 프로그래밍 방식컬렉션
배열을 다루기 편리한 메서드이다.
enum은 고정된 상수들의 집합을 정의할 때 사용한다. 'enum'을 사용하면 관련 있는 상수들을 그룹으로 묶어서 코드의 가독성을 높이고, 오류를 줄일 수 있다. \* 타입 안정성: enum은 자바의 타입 시스템의 일부이므로, 정의한 enum 타입의 변수에는 그 enu
객체의 필드(또는 데이터)를 외부로부터 읽을 수 있도록 하는 메서드외부에서 객체의 특정 필드 값을 직접 접근하여 읽는 것이 아니라, Getter 메서드를 통해 간접적으로 값을 얻는다.필드 값을 읽는 것만 허용하며, 필드의 값이 변경되는 것을 방지하여 데이터의 무결성을
Map은 키와 값 쌍으로 데이터를 저장하는 자료구조이다.키는 유일해야 한다.값은 중복될 수 있다.순서를 보장하지 않는다.단, 'LinkedHashMap'은 예외적으로 항목을 추가한 순서대로 순회할 수 있다.HashMap은 null 키와 null 값 허용TreeMap은
기본 데이터 타입(primitive data types)을 객체로 포장하는 데 사용되는 클래스이다. java.lang 패키지에 정의되어 있다. boolean ↔ Booleanbyte ↔ Bytechar ↔ Charactershort ↔ Shortint ↔ Integer