Java (15) 썸네일형 리스트형 [Java] 동일성과 동등성 동일성 (Identity) : ==두 객체가 물리적으로 같은지 판단한다.→ 즉, 같은 인스턴스인지 (메모리 주소가 같은지) 확인한다. 기본 데이터 타입은 변수 자체가 값을 직접 저장한다. 즉, 메모리 상에서 실제 값을 저장하고 있다. 따라서 ==을 사용하여도 둘의 값이 같은지를 판단한다.int a = 1;int b = 1;// 값 비교System.out.println(a == b); // true 그러나, 참조 데이터 타입은 변수 자체가 값이 아닌 참조를 저장하여, 값이 같더라도 메모리 주소가 다르다.따라서 ==을 사용하면 실제로 두 객체가 같은 메모리 주소를 가리키는지 여부를 판단한다.String str1 = new String("hello");String str2 = new String("hello.. [Java] 쓰레드 쓰레드란?쓰레드는 프로그램 내에서 독립적으로 실행되는 하나의 작업 단위를 뜻한다.싱글 쓰레드 는 한 번에 하나의 작업만 처리하지만 멀티쓰레드는 여러 작업을 동시에 처리할 수 있다.멀티 쓰레드를 활용하면 여러 작업을 병렬로 수행할 수 있어 처리 성능을 향상시킬 수 있다. 싱글 쓰레드싱글 쓰레드는 한 명의 일꾼이 작업을 처리하는 것과 같습니다.일꾼이 한 명이기 때문에 여러 개의 작업이 있다면 순차적으로 처리해야 합니다.main() 메서드는 프로그램 시작과 동시에 생성되는 하나의 쓰레드입니다.☑️ 예제 : 싱글 쓰레드 - 0부터 2까지 출력public class Main { public static void main(String[] args) { System.out.println("::: .. [Java] 람다 / 스트림 [[ 람다 ]]익명클래스란?이름이 없는 클래스를 익명 클래스라고 한다. 별도의 .java 파일 없이 코드 안에서 일회성으로 정의해 사용하기 때문에 이름이 없다고 부른다.주로 인터페이스, 클래스(일반, 추상)의 구현과 상속을 활용해 익명 클래스를 구현할 수 있다.☑️ 예제: 인터페이스를 활용한 익명 클래스익명 클래스를 코드내에서 직접 구현하기 때문에 클래스 파일을 만들 필요가 없다.→ 단점: 클래스 이름이 없어서 코드가 길어지고 가독성이 떨어질 수 있음.public interface Calculator { int sum(int a, int b);}public class Main { public static void main(String[] args) { // 익명 클래스 활용.. [Java] 컬렉션 / 제네릭 [[ 컬렉션 ]]컬렉션이란?배열은 크기가 고정되어 있어서 한 번 설정하면 길이를 변경할 수 없다.컬렉션은 이와 다르게 길이를 동적으로 변경할 수 있으며, Java에서는 다양한 컬렉션 클래스(ArrayList, HashSet, HashMap 등)를 제공하고 있다. 컬렉션 종류인터페이스구현체특징List ArrayList순서 유지, 중복 허용SetHashSet순서 없음, 중복 불가MapHashMap키-값 구조, 키 중복 불가 1) List 인터페이스를 구현한 ArrayListList names = new ArrayList();names.add("홍길동"); // 요소 추가System.out.println(names.get(0)); // 요소 조회names.remove("홍길동");.. [Java] 명명 규칙 실습을 진행하며 변수나 메서드 이름을 지어야하는 순간이 자주 찾아왔다. 그럴 때 마다 어떻게 이름을 지어야할지 막막하여 찾아본 결과 Java의 명명 규칙이 있다는 사실을 알게되었다. 명명 규칙을 꼭 지켜야할까?이름을 지을 때 명명 규칙을 지켜야할 필요는 없다. 하지만 지켰을 때의 장점은 분명하며 지키는 것을 권장한다.명명 규칙을 지키면 이름을 지을 때 고민시간이 단축되고 부담을 덜 수 있다.누가 코드를 보더라도 이름을 통하여 변수나 메서드에 대한 활용 예측이 가능하다. 이름 지을 때 주의사항숫자로 시작 금지 (X 1chapter)특수문자 사용 금지 (X chapter#1)Java의 예약어 사용 금지 (X class, X public, X staic) 패키지 이름 규칙소문자만 사용예시: car, stu.. [Java] Enum Enum이란?자바의 enum은 서로 연관된 상수들을 하나의 타입으로 묶을 수 있는 클래스를 말한다. Enum 선언typedef enum 열거형이름 { 값1, 값2, 값3 ...}// 예시enum Direction { EAST, WEST, SOUTH, NORTH} Enum 참조열거타입 변수 = 열거타입.열거상수;// 예시Direction dir1 = Direction.EAST;Direction dir2 = Direction.SOUTH; Enum의 주요 메서드name()상수 이름(문자열) 반환dir1.name() → "EAST"ordinal()열거 상수의 순서 (0부터 시작)dir2.ordinal() → 2valueOf(String name)문자열을 enum 상수로 변환Direction.value.. [Java] Optional null이란?null은 프로그래밍에서 값이 없음 또는 참조하지 않음을 나타내는 키워드를 말한다. null 직접 처리의 한계 null인 객체를 호출하거나 접근하려 하면 NullPointerException이 발생한다. 이는 런타임 예외로 컴파일러가 미리 잡아주지 못하며, 예외가 발생했을 때 처리해주지 못하면 프로그램이 종료된다. if문을 활용하여 null을 처리할 수는 있지만 모든 상황을 미리 예측하고 처리하는 것은 현실적으로 힘들다. Optional이란?Optional은 null을 안전하게 다루기 위한 클래스이다. null을 직접 다루는 대신 Optional을 사용하면 NullPointerException을 방지할 수 있다. Optional 활용Optional 객체는 값이 있을 수도 있고 없을 수도 있는.. [Java] 예외와 예외 처리 예외란?예외는 프로그램 실행 중 예상하지 못한 상황이 발생하는 것을 의미한다.예외를 처리하지 않으면 프로그램이 중단될 수 있다.throw 키워드를 사용해 의도적으로 예외를 발생시킬 수도 있다. 예외 종류1) RuntimeException - UncheckedException RuntimeException을 상속받는 모든 예외를 UncheckedException이라 한다.컴파일러가 확인하지 않아, 반드시 처리하지 않아도 실행된다. 2) Exception - CheckedException Exception 클래스를 직접 상속받는 모든 예외를 CheckedException이라 한다.컴파일러가 확인해 주므로, 반드시 처리해야 실행된다. 예외 전파예외가 발생했는데, 그걸 해당 메서드에서 처리하지 않으면 호출한 쪽.. 이전 1 2 다음