My Java study 백엔드 개발자를 목표로 삼은 만큼 자바는 앞으로 나의 주언어가 될 것이기 때문에 가장 길어지고, 계속 꾸준히 공부하지 않을까 싶다. 우리 학교 커리큘럼에서 자바는 필수 과목이 아니었는데, 필요할 것 같아 수강했었고 이후 스프링 수업 때 사용했

Structure 아래 예시를 보고 자바의 기본 구조를 알아보자. 자바 프로그래밍 작성 시, 클래스를 생성한 후 클래스 내에 모든 요소를 작성해야 한다. 클래스 바깥에는 어떠한 코드도 올 수 없다. main() 메서드부터 실행이 시작된다. main 메서드 선언 시

Loop 자바에는 for문, while문, do-while문의 세 종류의 반복문이 존재한다. for문은 반복 횟수가 정해져있는 경우, while, do-while문은 조건에 따라 반복되는 경우에 사용한다. for문 for문의 구조는 다음과 같다. 업로드중..

배열은 여러 데이터를 한번에 저장하기 위한 자료구조라고 할 수 있다. 배열을 사용하면 각각의 변수를 생성할 필요가 없으며 데이터를 함께 저장할 수 있을 뿐만 아니라 인덱스를 통한 순차적 접근이 가능해진다.한 배열에 저장할 데이터들의 자료형은 동일해야 한다.c언어에서는

예외는 프로그램 실행 중 발생하는 오류로, 컴파일 시에 발견 가능한 컴파일 에러와는 다르다. 예외 발생 시 적절하게 처리하고 정상적으로 종료하기 위해 예외 처리를 한다.예측이 불가능하고 강제로 프로그램을 종료시켜야 하는 런타임 에러와도 차이가 있다.대표적인 예외 발생
Object-Oriented Encapsulation 캡슐화를 통해 객체 내부 접근을 제한하고 보호한다. 다만 외부와의 상호작용을 위해 일부만 접근 가능하도록 한다. 클래스로 변수와 함수를 묶는데, 이 때 멤버 변수를 필드, 멤버 함수를 메소드라 부른다. 클래스를
#12 > 간단한 콘서트 예약 시스템을 만들어보자. 다수의 클래스를 다루고 객체의 배열을 다루기에는 아직 자바 프로그램 개발이 익숙하지 않은 초보자에게 다소 무리가 있을 것이다. 그러나 반드시 넘어야 할 산이다. 이 도전을 통해 산을 넘어갈 수 있는 체력을 키워보자.

Inheritance 객체지향 언어에서 상속은 매우 중요한 개념이라고 할 수 있다. 상위 개념의 공통적 속성과 동작을 하나의 클래스로 만들고, 하위의 개념은 상위 개념 클래스를 상속하여 속성과 동작을 추가할 수 있다. 이 때 상위 개념이 되는 부모 클래스를 슈퍼 클래

Package 자바 패키지란 클래스나 인터페이스의 컴파일된 클래스 파일들을 저장해놓은 디렉토리/폴더로 생각할 수 있다. 하나의 프로그램은 패키지로 이루어지며 패키지는 여러 개 둘 수 있다. 각 패키지는 클래스 파일(.class)로 이루어지는데, 다른 패키지에 있는 경

parseInt()
#10 > 갬블링 게임을 만들어보자. 두 사람이 게임을 진행한다. 이들의 이름을 키보드로 입력 받으며 각 사람은 Person 클래스로 작성하라. 그러므로 프로그램에는 2개의 Person 객체가 생성되어야 한다. 두 사람은 번갈아 가면서 게임을 진행하는데 각 사람이 자

Collection 배열은 여러 데이터를 한번에 저장하고 처리하기 위한 자료구조이다. 하지만 배열의 크기는 한 번 지정하면 고정되어 크기를 변경할 수 없고 데이터 삽입/삭제 시 빈 자리를 비워두거나 뒤에 있는 데이터들의 위치를 모두 바꿔야 한다. 이 때 가변 크기를

제네릭 컬렉션 Iterator HashMap 해시맵 컬렉션의 경로는 java.util.HashMap이며 key와 value의 쌍으로 구성된다. 해시맵은 다음과 같이 생성한다. 해시맵은 키와 값을 저장하는 각각의 자료 구조를 가진다. 해시맵 객체의 구성은 다음과
#8 > 고객의 이름과 포인트 점수를 관리하는 프로그램을 해시맵을 이용하여 작성하라. 프로그램은 고객의 이름과 포인트를 함께 저장 관리하는데, 포인트는 추가될 때마다 누적하여 저장된다. >> \* 포인트 관리 프로그램입니다 * 이름과 포인트 입력 >> 이재문 40 (
I/O Stream 스트림이란 연속적인 데이터의 흐름을 말한다. 자바 입출력 스트림은 응용프로그램과 입출력 장치를 연결하는 역할을 한다. 입력 스트림은 키보드 장치를 제어하여 키 입력을 응용 프로그램에 전달하고, 연결된 출력 스트림에 출력하면, 출력 장치를 제어하여
length length() size()

자바에서 연산자 &&(and)와 ||(or)의 우선순위는 어떤 것이 더 높을까?
클래스 상속에서 오버라이딩 시, 슈퍼 클래스의 메소드와 자기 자신의 메소드 두 가지를 모두 가진다.오버라이딩해도 슈퍼 클래스의 기존 메소드를 모두 갖고있게 된다.예를 들어 두 번을 상속한 경우 해당 클래스는 동일 메소드를 3개 가지고 있는것.오버라이딩을 덮어쓰기라고 생
ArrayList 생성은 다음과 같이 작성 가능하다.
내가 자주 사용하는 인텔리제이 단축키 메모Alt + Shift + F10 : 프로그램 실행Ctrl + Shift + F : 코드 정렬
for each는 자료구조의 원소값을 순회하기 위해 사용하며 구조는 다음과 같다.:앞에 data의 원소를 받을 변수를 자료형과 함께 val에 지정해주고, :뒤에 자료구조를 지정한다.
다양한 메서드를 활용하여 컬렉션(Collection) 또는 배열을 처리할 수 있다. 다음은 자주 사용되는 메서드 중 일부이다. forEach() 메서드: 컬렉션의 각 요소에 대해 특정 작업을 수행할 수 있는 메서드이다. Consumer 인터페이스를 구현한 람다식이나
getClass() : Object 클래스 내의 메소드로, 현재 참조하고 있는 클래스를 리턴한다.getName() : Class 클래스 내의 메소드로, 클래스 명을 리턴한다.getClass().getName() : 현재 참조하고 있는 클래스의 이름을 리턴한다.예제cla
getClass() : Object 클래스 내의 메소드로, 현재 참조하고 있는 클래스를 리턴한다.getName() : Class 클래스 내의 메소드로, 클래스 명을 리턴한다.getClass().getName() : 현재 참조하고 있는 클래스의 이름을 리턴한다.예제cla
클래스 내에 선언된 내부 클래스는, 다음의 4종류가 있다.클래스 내에 선언된 클래스 - 인스턴스 클래스라 부르며 보통 main 메소드 이전의, 필드부에 선언된다.클래스 내에 선언된 static 클래스 - 보통 main 메소드 이전의, static 필드부에 선언되며 st
HashMap : put한 순서 기억하지 않음. 순서 상관없이 저장LinkedHashMap : put한 순서대로 저장
getLast()는 LinkedList 클래스에서 제공하는 메소드로, 리스트의 마지막 요소를 리턴한다.리스트가 비어있을 경우 NoSuchElementException 예외를 발생시킨다.Cherry리스트가 비어있는 경우 런타임 에러가 발생할 수 있으므로 주의할 것.
자바에서 사용하는 어노테이션 중, Lombok 라이브러리가 제공하는 주요 어노테이션에 대해 알아보겠다.@Getter / @Setter: getter와 setter 메소드를 자동으로 생성한다. 클래스에 어노테이션을 붙이면 클래스 내 모든 필드에 대해 메소드가 생성되며,
stream() : 컬렉션을 스트림으로 변환하는 메서드이다. 스트림을 이용하면 보다 간단하고 효율적인 데이터 처리가 가능하다.forEach() 메서드: 컬렉션의 각 요소에 대해 지정 작업을 반복 수행할 수 있는 메서드이다. 람다식이나 메서드 참조를 전달하여 사용한다.f
옵셔널은 Java 8부터 도입된 클래스로, 값이 있을 수도 없을 수도 있는 상황을 처리하기 위한 컨테이너 클래스이다. Optional의 값이 존재하는 경우 Optional 객체에 해당 값이 포함되며 값이 없는 경우에는 Optional.empty()를 호출하여 빈 Opt