
switch문 : 제어문 중 하나이며 if-else문 보다 가독성이 좋고 case에 따라 코드 블록을 실행할 수 있습니다.case 값에는 변수나 리터럴 형태만 와야 합니다. case는 단순히 특정 값을 비교하는 역할을 하기 때문에 case에 다른 조건식을 넣거나 범위

1\. 2\. 3\. 4\. 5\. 6\. 1\. 2\. 3\. 숫자 0~9까지 순서대로 출력하며 9를 넘어가면 다시 0부터 시작해야 합니다.4\. 숫자를 1부터 9까지 순서대로 출력하며 9를 넘어가면 다시 0부터 시작해야 합니다.느낀 점숫자 출력하기 3,4번에서 숫자

배열 : 연속된 공간에 값을 나열시키고 각 값에 인덱스를 부여해 놓은 자료구조입니다.타입\[] 변수; 타입 변수\[]; 타입\[] 변수 = {값0, 값1}; 배열 변수를 선언한 시점과 값 목록이 대입되는 시점이 다르면 new 타입\[]을 써줘야 한다. new 타입

1\. 일반 for문2\. 향상된 for문 📢 어려웠던 점 문제 1. 'case 1'에서 studentNum 값을 받으면 1번에서만 살아있고 2,3번에서는 값이 0이 되었습니다.해결1 : while문 밖에서 studentNum을 선언해야합니다. while 루프를 돌떄

equals() : 두 문자열이 일치하는 비교하는 함수입니다. equals()과 contentEquals()는 같은 함수입니다.🟥 주의사항 : ==은 실제 문자열의 내용을 비교하는 것이 아닌 참조값을 비교하는 것이기 때문에 두 문자열이 일치하는지 비교하려고 할 때는

Laptop을 100개를 만들어 보자기존에는 노트북을 생성할 때마다 이름, 가격, 스펙 등의 정보를 개별 변수에 할당하여 객체를 생성합니다. 이는 노트북을 여러 개 생성할 때마다 매번 변수를 선언하고 초기화해야 하므로 번거롭고 실수로 변수를 빼먹을 경우 코드 오류가 발

접근 제어자 : 클래스의 멤버에 대한 접근을 제어하기 위해 접근 제어자를 사용하며, 이를 통해 해당 멤버가 어디에서 접근 가능한지를 제한할 수 있습니다. 객체의 필드를 외부에서 변경하거나 메소드를 호출할 수 없도록 막아야 필요가 있습니다. 중요한 필드와 메소드가 외부로

정적 멤버(static) : 메소드 영역의 클래스에 고정적으로 위치하는 멤버를 말합니다.필드와 메소드 모두 정적 멤버가 될 수 있습니다.필드 : static 타입 필드 \[= 초기값];메소드 : static 리턴타입 메소드(매개변수, ...) { ... }인스턴스 멤버

📌 obj1.method2(a1);에서 -3, -5, -7로 바뀌지 않고 90, 100, 0인 이유는?a1과 method1의 arr 매개변수는 동일한 배열을 참조하고 있으므로(같은 메모리 주소 가지고 있음), method1에서 배열의 값을 변경하면 a1에 반영됩니다.

🔔 'Record'에 대해서 알아보자! 💟 Record > Record : 데이터를 단순하게 표현하기 위해 나타난 데이터 타입입니다. getter와 setter 메서드를 정의하기에 번거로워 Record로 간견하게 표현합니다. 각 필드의 값을 직접 지정하여 객체를

🔔 '다형성(Polymorphism)'에 대해서 알아보자! 💟 다형성(Polymorphism) 개념 다형성이란, 여러 가지 형태를 가질 수 있는 능력을 의미합니다. 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 합니다. 전에는 인스턴스의

💟 이것이 자바다 6장 확인문제 20번 >키보드로부터 계좌 정보를 입력받아 계좌를 관리하는 프로그램입니다. 계좌는 Account객체로 생성되고 BankApplicaton에서 길이 100인 Account[] 배열로 관리됩니다. 실행결과를 보고 Account와 Bank

🔔 '상속'에 대해서 알아보자! 💟 상속 개념 > 상속 : 부모가 자식에게 물려주는 행위를 말합니다. 중복되는 코드를 줄여 개발 시간을 단축시킬 수 있습니다. 부모 클래스를 수정하면 모든 자식 클래스에 수정 효과를 가져올 수 있기 때문에 클래스의 수정을 최소화할

🔔 '이것이 자바다 7장 상속 확인문제'를 풀어보자! 💟 6번 > Parent 클래스를 상속해서 Child 클래스를 다음과 같이 작성했는데, CHild 생성자에서 컴파일 에러가 발생했습니다. 그 이유와 해결 방법을 설명해보세요. this.name = name;에

🔔 '인터페이스(interface)'에 대해서 알아보자! 💟 인터페이스 정의 > 인터페이스 : 두 장치를 연결하는 접속기즉 두 객체를 연결하는 역할을 합니다. 인터페이스 선언은 interface 키워드를 사용합니다. interface 인터페이스명 {...} 선

🔔 '이것이 자바다 8장 인터페이스(interface) 확인문제'를 풀어보자! 💟 5번 > TV 클래스를 실행했을 때 "TV를 켰습니다."라고 출력되도록 밑줄과 박스에 들어갈 코드를 작성해보세요. 💟 6번 > Soundable 인터페이스는 다음과 같은 soun

🔔 '중첩 클래스와 중첩 인터페이스'에 대해서 알아보자! 💟 중첩 클래스 개념 > 중첩 클래스 : 클래스 내부에 선언한 클래스입니다. 클래스의 멤버를 쉽게 사용합니다. 외부에는 중첩 관계 클래스를 감출 수 있습니다. 멤버 클래스(인스턴스, 정적), 로컬 클래스로

🔔 '익명 객체'에 대해서 알아보자! 💟 익명 객체 개념 > 익명 객체 : 이름이 없는 객체를 말합니다. 클래스를 따로 만들지 않고 객체를 생성할 수 있습니다. 클래스를 상속하거나 인터페이스를 구현해야만 생성할 수 있습니다. 🟦 익명 자식 객체 부모 클래스를

🔔 '이것이 자바다 9장 중첩선언과 익명 객체 확인문제'를 풀어보자! 💟 4번 > 다음과 같이 Car 클래스 내부에 Tire와 Engine 클래스가 멤버로 선언되어 있습니다. CarExample 클래스에서 Tire와 Engine 객체를 생성하는 코드를 작성해보세요

🔔 '예외 처리'에 대해서 알아보자! 💟 예외 처리 개념 > 예외 : 잘못된 사용 또는 코딩으로 인한 오류를 말합니다. 예외 처리를 하면 실행 상태를 유지할 수 있습니다. 일반 예외(Exception) : 컴파일러가 예외 처리 코드 여부를 검사하는 예외를 말합니

🔔 '이것이 자바다 11장 예외 처리 확인문제'를 풀어보자! 💟 6번 > 다음 코드가 실행되었을 때 출력 결과를 작성해보세요. > 출력결과 10 숫자로 변환할 수 없음 10 인덱스를 초과했음 10 strArray[0]은 "10"이므로 정수로 변환이 가능하여

🔔 'StringBuffer와 StringBuilder'에 대해서 알아보자! 💟 StringBuffer > - 문자열 편집을 위한 버퍼를 가지고 있으며, StringBuffer 인스턴스를 생성할 때, 그 크기를 지정할 수 있습니다. 문자열을 저장하기 위한 char

🔔 'BigInteger와 BigDecimal'에 대해서 알아보자! 💟 BigInteger > - 과학적 계산에서는 long 타입 보다 더 큰 값을 다뤄야 하기 때문에 BigInteger 타입을 사용하는 것이 좋습니다. 불변 클래스입니다. 부호를 따로 저장하고 배

🔔 'Calendar와 Date'에 대해서 알아보자! 💟 Calender > Calendar : 추상클래스익 때문에 직접 객체를 생성할 수 없고 메서드를 통해서 인스턴스를 얻어야 합니다. 🟦 Calendar와 Date간의 변환 Calendar를 Date로 변환

🔔 '형식화 클래스(DecimalFormat, SimpleDateFormat, ChoiceFormat, MessageFormat)'에 대해서 알아보자! 💟 DecimalFormat > DecimalFormat : 숫자를 형식화 하는데 사용하며 숫자 데이터를 정수,

🔔 '람다'에 대해서 알아보자! 💟 람다식 간단히 말해서 메서드를 하나의 식으로 표현한 것입니다. 메서드의 이름과 반환값이 없어 익명함수라고도 말합니다. 반환값이 있는 메서드의 경우, return 문 대신 식으로 대신 할 수 있습니다. 문장이 아닌 식으로 작성시

🔔 'Comparator와 Comparable'에 대해서 알아보자! Arrays.sort()를 호출만 하면 배열을 정렬하는 것처럼 보이지만, 사실은 Charcater 클래스의 Comparable의 구현에 의해 정렬되었던 것입니다. 💟 compare()와 comp

🔔 'Arrays'에 대해서 알아보자! 💟 Arrays >배열을 다루는데 유용한 메서드가 정의되어 있습니다. 💟 배열의 복사 - copyOf(), copyOfRange() >- copyOf() : 배열 전체를 복사해서 새로운 배열을 만들어 반환합니다. copy

🔔 '지네릭스'에 대해서 알아보자! 💟 지네릭스 >- 컴파일 시의 타입 체크를 해주는 기능입니다. 타입 안정성을 제공합니다. -> 의도치 않은 타입의 객체가 저장되는 것을 방지 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해집니다. → ClassCaseExc

🔔 '컬렉션 프레임워크(Collection Framework)'에 대해서 알아보자! 💟 컬렉션 프레임워크(Collection Framework) > - 다수의 데이터 그룹을 저장하는 클래스들을 표준화한 설계를 말합니다. 인터페이스와 다형성을 이용한 객체지향적 설계

🔔 '컬렉션 프레임워크(Collection Framework)- List 인터페이스'에 대해서 알아보자! 💟 ArrayList > - 가장 많이 사용되는 컬렉션 클래스입니다. 기존의 Vector를 개선한 것으로 구현원리와 기능적인 측명이 동일합니다. Object

🔔 '컬렉션 프레임워크(Collection Framework)- Set 인터페이스'에 대해서 알아보자! 💟 HashSet > 중복된 요소를 저장하지 않고 저장순서를 유지 하지 않아 순서 유지하고자 한다면 LinkedHashSet을 사용해야 합니다. | 메서드 |

🔔 '컬렉션 프레임워크(Collection Framework)- Set 인터페이스'에 대해서 알아보자! 💟 HashMap과 Hashtable 키(key)와 값(value)을 묶어서 하나의 데이터를 저장한다는 특징을 갖습니다. 해싱을 사용하기 때문에 많은 양의 데이

🔔 'Iterator, ListIterator, Enumeration'에 대해서 알아보자! 💟 Iterator >- 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것입니다. Iterator 인터페이스에는 요소에 접근하는 기능을 정의하고 있습니다. Collect

🔔 '스트림(Stream)'에 대해서 알아보자! 💟 스트림(Stream) 개념 컬랙션 및 배열에 저장된 요소를 반복 처리하기 위해 for문(List)이나 Iterator(Set)을 사용하였습니다. 또 다른 방법으로 스트림을 사용할 수 있습니다. 데이터 소스가 무엇

🔔 '스레드(Thread)'에 대해서 알아보자! 💟 스레드 개념 멀티 프로세스 : 서로 독립적이므로 하나의 프로세스에서 오류가 발생해도 다른 프로세스에게 영향을 미치지 않습니다. 멀티 스레드 : 프로세스 내부에서 생성되기 때문에 하나의 스레드가 예외를 발생시키면

🔔 '데이터 입출력'에 대해서 알아보자! 💟 입출력 스트림 데이터 입출력 : 키보드/파일/프로그램로부터 입력받고 모니터로 출력되거나 파일에 저장되거나 다른 프로그램으로 전송되는 것을 말합니다. > 입력 스트림(InputStream) : 프로그램 외부 입력을 바이

지난 게시글(데이터 입출력(Input/Output) (1))에 이어서...()보조 스트림이란, 다른 스트림과 연결되어 여러 가지 편리한 기능을 제공해주는 스트림을 말합니다. 보조 스트림 자체로는 입출력을 수행할 수 없기에 입출력 소스로부터 직접 생성된 입출력 스트림에

소켓(Socket): 네트워크 통신에서 프로세스 간의 통신을 담당하는 엔드포인트를 의미합니다. 소켓은 컴퓨터의 IP 주소와 포트 번호를 사용하여 네트워크에서 특정 프로그램을 식별합니다. 데이터를 송수신하기 위해 소켓은 네트워크 상의 다른 소켓과 연결되어 있어야 합니다.

🔔 '어노테이션(Annotation)'에 대해서 알아보자! 💟 어노테이션(Annotation) 클래스 또는 인터페이스를 컴파일하거나 실행할 때 어떻게 처리해야 할 것인지 알려주는 설정 정보입니다. 예를들어 @Override는 컴파일러가 메소드 재정의 검사를 하는데