기본 용어 >✅ 프로그램 : 컴퓨터가 인식할 수 있는 명령어의 나열 ✅ 프로그래밍 : 프로그램을 작성하는 과정 (코딩) ✅ 프로그래머 : 프로그램을 작성하는 사람 ✅ 프로그래밍 언어 : 프로그램을 작성하기 위한 언어체계 자바 특징 > ✅ 운영체제에 독립적 ✅
변수 >메모리(RAM)에 값을 기록하기 위한 공간 변수사용 목적 ✅ 가독성이 좋아짐 ✅ 재사용성 증가로 코드량 감소 ✅ 유지보수 용이 변수의 선언 : 메모리 공간에 데이터를 저장할 수 있는 공간을 할당하는 것 사용방법 : 자료형 변수명; 선
연산자 종류와 우선순위 > ✅ 논리 부정 연산자
Scanner사용자로부터 입력되는 정수, 실수, 문자열을 처리하는 클래스📌 사용방법✅ import 작성✅ Scanner 생성✅ 키보드 입력 값 받기💡 next()는 띄어쓰기 입력불가, nextLine()은 문자열에 띄어쓰기 가능조건문종류 : if문, switch문i
스택영역 : 호출됬을때 생성되고 자동으로 삭제되는 영역 ex) 변수 힙영역 : 개발자가 할당하는 영역이고 개발자가 직접 삭제해야하지만 GC(가비지컬렉션)이 있어서 주기적으로 알아서 삭제됨 ex) 배열 new 연산자 : 객체를 힙이라는 메모리 영역에 메모리 공간
✅ 자바에서의 객체란? 클래스에 정의된 내용대로 new 연산자를 통해 힙 메모리 영역에 생성된 것 ✅ 클래스의 등장 배경 >변수 (1개의 자료형 + 1개의 데이터) -> 배열 (1개의 자료형 + 여러개의 데이터) -> 구조체(여러 개의 자료형 + 여러 개의 데이
상속 > 다른 클래스가 가지고 있는 멤버(필드, 메소드)들을 새로 작성할 클래스에서 직접 만들지 않고 상속을 받음으로써 새 클래스가 자신의 멤버처럼 사용할 수 있는 기능 ✅ 상속의 목적 : 클래스의 재사용, 연관된 일련의 클래스들에 대한 공통적인 규약 정의 ✅ 상속
객체 배열 -> 객체를 저장하는 배열로 배열의 자료형을 클래스명(사용자 정의 자료형)으로 지정하여 활용 ✅ 선언 ✅ 할당 ✅ 선언과 동시에 할당 ✅선언과 동시에 할당 및 초기화 -> arr[0], arr[1] 도 각각의 주소를 가르키고 있음 객체 배열 관련
다형성 조건 : 상속관계여야함 >* 여러개의 형태를 갖는다는 의미 하나의 행동으로 여러가지 일을 수행 상속을 이용해 부모 타입으로부터 파생된 여러 가지 타입의 자식 객체를 부모 클래스 타입 하나로 다룰 수 있는 기술 업캐스팅 조건 : 상속관계여야함 >자식 클래스의
추상클래스 = 미완성클래스( abstract 키워드 사용)특징 (1) : 일반 클래스와 동일하게 선언 가능하다 (필드, 메소드, 생성자) 모두 선언가능(2) : 자체적으로 객체 생성 ❌ -> 반드시 상속하여 객체 생성해야함 = 자식클래스를 통해서 추상클래스에 접근 가
문자열 클래스종류 3가지String : 클래스지만, 기본자료형처럼 사용하게 설정되어있음 (수정이 불가능)StringBuffer, StringBuilder : 클래스 사용방식으로 문자열을 다룰수 있음 (수정 가능)📌 StringBuffer, StringBuilder는
Wrapper 클래스기본자료형을 객체로 사용할 수 있게 해주는 클래스사용하는 이유\-> 객체와 같이 연동하기 위해\-> 즉 Wrapper 클래스 안의 메소드를 적용시킬 수 있음 ex) max, min 메소드
✅ 프로그램 오류종류 : 컴파일에러, 런타임에러, 시스템에러컴파일 에러 : 빨간줄 뜨는것! (개발자의 오타나 로직실수로) 실행하지못하는것런타임 에러 : 프로그램이 정상적으로 실행되지만 실행도중에 중간에 에러나는거 EX) 널포인터오류, 배열크기벗어난오류시스템 에러 : 램
✅ 배열의 문제점 한번 크기를 지정하면 변경 x 데이터에 대한 중간위치의 추가, 삭제가 불편하다. 한 타입의 데이터만 저장 가능하다. 컬렉션 >* 자바에서 제공하는 자료구조를 담당하는 프레임워크 추가, 삭제, 정렬 등의 기능처리가 간단히 해결되어 자료구조적 알고
입출력 스트림 ✅ 스트림의 종류 : OutputStream , InputStream, Reader, Write = > 넷 다 추상클래스로 그 밑에 서브(하위)클래스틀 통해서 사용가능 OutputStream > * 그림, 오디오, 비디오, 텍스트 파일 등
보조스트림 > * 스트림의 기능을 향상시키거나 새로운 기능을 추가하기 위해 사용 기반 스트림을 먼저 생성한 후 이를 이용하여 보조 스트림을 생성 보조스트림 함수 안에 주스트림 객체를 넣어야함! ✅ 종류 InputStreamReader / OutputStreamWrit
\- : private 접근제한자 \+ : public 접근제한자 밑줄친곳은 static으로 선언! 위 그림의 클래스 다이어그램 설명 com.bs.example.practice3.model.vo.Circle -> Circle 전까지는 패키지명 , Circl
static >(1) : 클래스 변수라고 부름 (2) : static 예약어를 사용한 필드는 클래스를 생성(new)하지 않고 사용할 수 있는 공간 (3) : 객체 생성 없이 공용으로 사용하는 공간 = 프로젝트 내에서 공용으로 사용하는 저장공간 (4) : 선언된 클래
Set 저장 순서가 없고, 데이터를 중복 저장되지 않는 자료구조 종류 (3가지) -> HashSet, LinkedHashSet, TreeSet ✅ (1) HashSet > 기본적으로 ArrayList에서 나왔던 size, isEmpty, contains, remo
Map 저장구조가 key:value 형식 key, value 쌍으로 이루어져 있음 종류 (2가지) -> HashMap, TreeMap, Properties (Map 인터페이스를 구현한 클래스임) ✅ (1) HashMap put : 값을 저장할 때 사용하는 메소드 (k
합 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴
✅ OptionalJava 8 부터 도입된 클래스값이 없는 경우를 표현할 때 사용값이 존재할 수도 있고, 없을 수도 있다널포인터 예외를 방지할 수 있음제네릭을 사용하여 어떤 타입의 객체도 감싸서 담을 수 있다✅ Optional 객체 생성of() 메서드 : 값이 null
기본형 : int, long, double, boolean 처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입 참조형 : 객체 또는 배열과 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입 쉽게말해 기본형 변수에는 직접 사용할 수 있는 값이 들어
지역 변수에 설정시 최초 한번만 할당 가능할당 이후 변수 값 변경시 컴파일 오류 발생매개변수에 final 붙으면, 메서드 내부에서 매개변수의 값을 변경할 수 없음\-> 메서드 호출 시점에 넘겨진 값이 끝까지 고정됨💡 static final , final 공통점 : 둘
✅ Object 클래스 자바의 최상위 클래스 Object 클래스가 최상위인 이유? -> 객체의 정보, 비교, 확인 등 자주 사용하는 기본 기능들을 일일이 만들기 힘듬 -> 모든 객체에 필요한 공통기능을 편리하게 제공하기 위해서 만들어짐 ✅ 종류 toString()
✅ 불변 객체가 도입된 이유 객체를 공유할 수 있는 것을 막기 위해서 ✅ 불변 객체 객체의 상태(내부의 값, 필드, 멤버변수)가 변하지 않는 객체 만드는 방법 final 키워드를 붙인다. Setter 를 만들지 않는다. 💡 red
enumeration의 줄임말으로 열거 라는 뜻임자바는 타입 안전 열거형 패턴을 제공한다열거형을 정의할 때는 class 대신 enum 을 사용하고 원하는 상수의 이름을 나열한다위처럼 자바의 열거형으로 작성한 Grade는 다음 밑의 코드와 같다열거형도 클래스이다열거형은
java.util.Date : JDK 1.0java.util.Calendar : JDK 1.1Joda-Time : 외부라이브러리로 자바 표준에 포함되지 않아서, 프로젝트에 별도로 추가해야함java.time 패키지 : JDK 1.8(자바8)에서 위 Joda-Time 을
정적 중첩 클래스 : static이 붙고 바깥 클래스의 인스턴스에 소속되지 않는다정적 중첩 클래스는 다른 클래스를 중첩해둔 것 뿐이며, 둘은 아무런 관계가 없다쉽게 말해서 클래스 2개를 따로 만든것과 같다그러므로 내부에 있는 객체만 생성해도됨유일한 차이점은 privat