객체의 타입을 확인하는 데 사용되는 연산자입니다. 이 연산자는 객체가 특정 클래스의 인스턴스인지, 또는 그 클래스의 하위 클래스의 인스턴스인지 여부를 판단하는 데 활용됩니다. 사용법 // true or false 반환 if(객체 instanceof 클래스) { // true면 객체는 해당 클래스의 인스턴스 } 예제 class Animal {} class Dog extends Animal {} class Cat extends Animal {} public class Main { public static void main(String[] args) { Animal animal = new Dog(); if (animal instanceof Dog) { System.out.println(“dog); } else..
접근 제어자는 객체 지향 프로그래밍에서 클래스의 멤버(필드, 메서드, 내부 클래스 등)에 대한 접근 범위를 지정하는 데 사용되는 키워드입니다. 이는 클래스의 캡슐화, 정보 은닉, 보안, 유지 관리 등의 측면에서 중요한 역할을 합니다. public 가장 넓은 범위의 접근 제어자로, 어떤 클래스에서든 해당 멤버에 접근할 수 있습니다. 다른 패키지에서도 접근 가능합니다. protected 같은 패키지 내의 클래스와 해당 클래스를 상속한 클래스에서 접근할 수 있습니다. 패키지가 다른 경우에도 상속 관계가 있다면 접근이 가능합니다. 하위 클래스에서 오버라이딩할 때 유용하며, 외부에서의 접근을 제한하면서 상속을 통해 확장할 수 있습니다. default 접근 제어자를 명시하지 않은 경우, 같은 패키지 내에서만 접근할..
자바에서 다양한 데이터 타입을 문자열로 변환해야 하는 경우에는 (String) 캐스팅, toString() 메서드, 그리고 valueOf() 메서드가 사용될 수 있습니다. (String) 캐스팅 서로 다른 데이터 타입 간의 캐스팅을 시도하면 컴파일 에러가 발생합니다. null일 경우 null로 출력됩니다. public class Example { public static void main(String[] args) { Object example2 = 1; Object example3 = null; Object example4 = true; System.out.println((String) example2); // 에러 System.out.println((String) example3); // null S..
String 클래스 String 클래스는 불변(immutable)한 문자열을 표현하는 데 사용됩니다. 한 번 생성된 문자열은 변경될 수 없으며, 문자열 조작 시 새로운 문자열 객체가 생성됩니다. StringBuilder 클래스 StringBuilder 클래스는 가변(mutable)한 문자열을 효율적으로 처리하는 데 사용됩니다. 문자열을 변경할 때 새로운 객체를 생성하지 않고 기존 객체 내에서 조작이 이루어지므로 성능이 향상됩니다. 그러나 스레드 안전성을 보장하지 않습니다. StringBuffer 클래스 StringBuffer 클래스는 StringBuilder와 유사하게 가변 문자열을 다루는 데 사용됩니다. 하지만 StringBuffer는 스레드 안전성을 보장하도록 설계되었습니다. 따라서 멀티스레드 환경에..
문자열이란 문자열(String)은 자바에서 텍스트 데이터를 처리하는 데 사용되는 중요한 데이터 타입입니다. 문자열은 불변(immutable)하며, 여러 가지 유용한 메서드를 제공하여 문자열 조작을 편리하게 수행할 수 있습니다. 문자열 생성 방법 // 자바에서 문자열은 큰 따옴표로 문자열 생성 String greeting = "Hello, World!"; // new 키워드를 통한 문자열 생성 String greeting = new String("Hello, World"); 문자열 메서드 활용 예제 public class Example { public static void main(String[] args) { String text = "Hello, World!"; // length() - 문자열의 길이 ..
배열의 역할 배열은 동일한 데이터 타입을 가진 여러 개의 데이터를 하나의 변수로 관리하기 위한 선형 자료 구조입니다. 배열의 선언과 초기화 데이터타입[] 변수 = new 데이터타입[크기]; 배열 초기화 방법 // 인덱스를 이용한 초기화 int[] numbers = new int[5]; numbers[0] = 1; numbers[1] = 2; // 선언과 동시에 초기화 int[] numbers = { 1, 2, 3, 4, 5 }; // 배열 길이를 이용한 초기화 int size = 5; int[] numbers = new int[size]; for (int i = 0; i < size; i++) { numbers[i] = i + 1; } 다차원 배열 방법(2차원) // 배열 요소를 순차적으로 초기화 int..