반응형

JAVA 374

자바 가변인자와 오버로딩

자바에서 가변인자(varargs)와 오버로딩을 함께 사용하는 경우에 대해 자세히 설명하겠습니다. 1. 가변인자 (Varargs)란? 가변인자는 메서드의 매개변수로 변동적인 개수의 인수를 전달할 수 있게 하는 자바의 기능입니다. 가변인자를 사용하면 동일한 메서드를 여러 다른 개수의 인수로 호출할 수 있습니다. 가변인자는 배열로 처리되며, 메서드 내에서 배열로 다루어집니다. 가변인자를 정의할 때는 "..." (세 개의 점)을 사용하여 매개변수를 표시합니다. 예를 들어, public void printNumbers(int... numbers) { for (int num : numbers) { System.out.print(num + " "); } } 위의 메서드는 0개 이상의 정수를 받아들이는 가변인자를 가지..

JAVA/포스팅 2023.11.08

자바 오버로딩의 장점

자바에서 메서드 오버로딩의 주요 장점은 다음과 같습니다. 1. 가독성과 직관성 향상 오버로딩을 사용하면 비슷한 동작을 하는 메서드들을 동일한 이름으로 그룹화할 수 있습니다. 이로써 코드의 가독성이 향상되며, 개발자들이 메서드의 목적을 더 쉽게 이해할 수 있습니다. 예를 들어, "add"라는 메서드 이름은 더하기 연산을 수행하는 메서드라는 직관적인 의미를 전달합니다. 2. 이름 충돌 방지 오버로딩을 사용하면 다른 메서드들이 동일한 이름을 가질 수 있습니다. 이로써 이름 충돌을 방지하고 코드를 더 깔끔하게 유지할 수 있습니다. 새로운 메서드를 추가할 때 기존 메서드와 이름이 겹치지 않도록 유의하면 됩니다. 3. 유연성 오버로딩을 통해 다양한 매개변수를 받는 메서드를 제공할 수 있습니다. 이는 다양한 상황에 ..

JAVA/포스팅 2023.11.08

자바 오버로딩의 예제

자바에서의 메서드 오버로딩(Overloading) 예제를 통해 더 자세히 살펴보겠습니다. 오버로딩은 동일한 메서드 이름을 사용하지만 매개변수의 개수, 타입 또는 순서가 다른 여러 버전의 메서드를 정의하는 것입니다. public class Calculator { // 정수형 두 숫자를 더하는 오버로딩된 메서드 public int add(int a, int b) { return a + b; } // 실수형 두 숫자를 더하는 오버로딩된 메서드 public double add(double a, double b) { return a + b; } // 세 정수를 더하는 오버로딩된 메서드 public int add(int a, int b, int c) { return a + b + c; } // 문자열을 합치는 오버..

JAVA/포스팅 2023.11.08

자바 오버로딩의 조건

자바에서 메서드 오버로딩을 성공적으로 구현하기 위한 조건은 다음과 같습니다. 1. 메서드 이름이 동일해야 합니다 오버로딩된 메서드는 동일한 메서드 이름을 가져야 합니다. 메서드 이름은 동일해야 하며, 대소문자를 구분합니다. 2. 매개변수 리스트가 달라야 합니다 매개변수 리스트는 매개변수의 개수, 타입 또는 순서가 서로 달라야 합니다. 즉, 매개변수 리스트가 다르면 오버로딩이 가능합니다. 3. 리턴 타입은 오버로딩에 영향을 주지 않습니다 오버로딩된 메서드의 리턴 타입은 오버로딩에 영향을 주지 않습니다. 리턴 타입이 다르더라도 매개변수 리스트가 다르면 오버로딩이 성립합니다. 4. 매개변수의 타입이 서로 구분될 수 있어야 합니다 오버로딩된 메서드의 매개변수 타입은 서로 구분될 수 있어야 합니다. 즉, 매개변수..

JAVA/포스팅 2023.11.08

자바 오버로딩이란?

자바에서 오버로딩(Overloading)은 동일한 메서드 이름을 사용하지만 매개변수의 개수, 타입 또는 순서가 다른 여러 버전의 메서드를 정의하는 기술을 말합니다. 오버로딩을 통해 동일한 메서드 이름으로 다양한 동작을 수행할 수 있으며, 이는 메서드의 다형성을 제공하고 코드의 가독성을 향상시킵니다. 오버로딩의 주요 특징 1. 메서드 이름은 동일해야 합니다 오버로딩된 메서드는 이름이 동일해야 하며, 리턴 타입만 다른 경우에는 오버로딩으로 간주되지 않습니다. 2. 매개변수 리스트가 달라야 합니다 오버로딩된 메서드는 매개변수 리스트(매개변수의 개수, 타입 또는 순서)가 서로 다른 경우에만 인식됩니다. 3. 매개변수의 타입 또는 개수가 다른 경우 오버로딩된 메서드는 매개변수의 타입이 다르거나 개수가 다른 경우로..

JAVA/포스팅 2023.11.08

자바 클래스 멤버와 인스턴스 멤버간의 참조와 호출

자바에서 클래스 멤버와 인스턴스 멤버 간의 참조와 호출은 중요한 개념입니다. 클래스 멤버는 클래스 수준에서 정의되며 모든 인스턴스에서 공유됩니다. 인스턴스 멤버는 객체(인스턴스) 수준에서 정의되며 개별 객체마다 별도의 인스턴스를 갖습니다. 이러한 차이로 인해 멤버에 접근하고 호출하는 방식이 다릅니다. 1. 클래스 멤버 (Static Members) - 클래스 멤버는 static 키워드로 정의됩니다. 예를 들어, 정적 변수(static field) 또는 정적 메서드(static method)는 클래스 멤버입니다. - 클래스 멤버는 클래스 수준에서 존재하므로 객체(인스턴스)를 생성하지 않고도 클래스 이름을 통해 접근할 수 있습니다. - 클래스 이름을 통해 클래스 멤버에 접근하고 호출합니다. public cl..

JAVA/포스팅 2023.11.08

자바 재귀 호출(Recursion)

재귀 호출(Recursion)은 메서드가 자기 자신을 호출하는 기술로, 반복적인 작업을 해결하거나 알고리즘을 구현할 때 유용하게 사용됩니다. 자바에서 재귀 호출은 다음과 같이 동작합니다. 재귀 호출의 기본 개념 1. 재귀 메서드는 자신을 호출합니다. 2. 재귀 호출은 종료 조건(베이스 케이스)이 필요하며, 종료 조건을 충족하면 재귀 호출이 중지됩니다. 3. 재귀 호출은 작업을 여러 단계로 분할하고, 작업의 결과를 합치거나 처리함으로써 문제를 해결하는 데 사용됩니다. 예를 통해 재귀 호출의 기본 원리를 설명하겠습니다. public class RecursionExample { public static void main(String[] args) { int result = factorial(5); System..

JAVA/포스팅 2023.11.07

자바 참조형 변환타입

자바에서 참조형 변환 타입은 참조 변수의 타입을 다른 타입으로 변환하는 것을 말합니다. 참조형 변환은 상위 클래스로의 변환(업캐스팅)과 하위 클래스로의 변환(다운캐스팅)으로 나눌 수 있습니다. 참조형 변환을 이해하기 위해 다음 두 가지 주요 유형을 살펴보겠습니다. 1. 업캐스팅 (Upcasting) - 업캐스팅은 하위 클래스의 인스턴스를 상위 클래스 타입의 참조 변수로 변환하는 것입니다. - 업캐스팅은 자동으로 이루어집니다. 즉, 명시적인 형변환 연산자가 필요하지 않습니다. - 업캐스팅을 사용하면 상위 클래스 타입의 변수로 하위 클래스 객체를 다룰 수 있습니다. - 예를 들어, List가 상위 클래스이고 ArrayList가 하위 클래스인 경우, List 타입의 변수로 ArrayList 객체를 다룰 수 있..

JAVA/포스팅 2023.11.07

자바 참조형 매개변수

자바에서 참조형 매개변수 (Reference Parameters)는 메서드에 객체 또는 배열을 전달하는 데 사용되는 매개변수 유형입니다. 참조형 매개변수는 실제 객체나 배열에 대한 참조(주소)를 복사하여 메서드에 전달하므로 메서드 내에서 해당 객체 또는 배열의 데이터를 변경하면 호출자에게도 영향을 미칩니다. 이를 통해 메서드는 객체의 내부 상태를 변경하거나 객체의 메서드를 호출하여 작업을 수행할 수 있습니다. 참조형 매개변수를 설명하면 다음과 같은 중요한 점을 고려할 수 있습니다. 1. 참조(주소)의 복사 참조형 매개변수는 객체 또는 배열의 실제 데이터가 아닌 해당 객체 또는 배열에 대한 참조(주소)를 전달합니다. 이것은 메모리 효율성과 성능을 향상시키는데 도움이 됩니다. 2. 메서드 내부에서 객체 변경..

JAVA/포스팅 2023.11.07

자바 기본형 매개변수

자바에서 메서드에 전달되는 매개변수는 두 가지 주요 유형으로 나뉩니다: 기본형 매개변수 (Primitive Parameters)와 참조형 매개변수 (Reference Parameters)입니다. 1. 기본형 매개변수 (Primitive Parameters) 기본형 매개변수는 메서드에 전달되는 값이 실제로 메모리에 저장됩니다. 이 값은 메서드의 매개변수로 복사되어 전달됩니다. 기본형 데이터 타입은 int, double, char, boolean, float, short, long, byte 등입니다. 이러한 매개변수를 사용할 때 값의 복사본이 전달되므로 메서드 내에서 이 값을 변경해도 호출자에게는 영향을 주지 않습니다. 예를 들어 public void modifyValue(int x) { x = x + 1..

JAVA/포스팅 2023.11.07

자바 JVM의 메모리구조

자바 가상 머신 (JVM, Java Virtual Machine)은 자바 프로그램이 실행될 때 메모리를 관리하는 핵심 역할을 하는 컴퓨터 프로그램입니다. JVM의 메모리 구조는 크게 다음과 같은 영역으로 나눌 수 있습니다. 1. 메서드 영역 (Method Area) 메서드 영역은 JVM이 클래스 파일을 읽고 클래스와 인터페이스의 코드, 메서드, 필드, 상수 및 클래스 로더에 의해 로드된 정보를 저장하는 영역입니다. 클래스 로더는 클래스 파일을 읽고 클래스 정보를 메서드 영역에 로드하며, 하나의 클래스에 대한 정보는 하나의 메서드 영역에만 존재합니다. 또한, 메서드 영역은 JVM 내에서 공유됩니다. 2. 힙 영역 (Heap Area) 힙 영역은 객체 인스턴스와 배열을 저장하는 메모리 영역입니다. 자바 프로..

JAVA/포스팅 2023.11.07

자바 메서드 예외 목록 (Throws Exception List)

자바 메서드의 "예외 목록" 또는 "throws 절" (Throws Exception List)은 메서드가 발생시킬 수 있는 예외(예외 상황)를 명시하는 부분입니다. 이 목록은 메서드 선언부에 추가되며, 메서드 호출자에게 어떤 종류의 예외를 처리해야 하는지 알려줍니다. 1. 예외 목록의 역할 메서드 예외 목록은 메서드가 호출될 때 발생할 수 있는 예외를 명시적으로 나열합니다. 이것은 메서드 호출자에게 어떤 예외를 처리해야 하는지를 알려줍니다. 2. 예외의 종류 메서드가 발생시킬 수 있는 예외는 다양한 종류가 될 수 있습니다. 자바에서 예외는 다음과 같은 두 가지 범주로 나뉩니다. - 검사 예외 (Checked Exceptions) : 컴파일러가 확인할 수 있는 예외로, 예외 처리 코드를 갖추어야 합니다...

JAVA/포스팅 2023.11.07

자바 메서드 매개변수 목록 (Parameter List)

자바 메서드의 매개변수 목록 (Parameter List)은 메서드가 호출될 때 전달되는 데이터를 받아들이기 위한 변수들의 목록을 정의합니다. 메서드의 매개변수는 메서드 내에서 사용되며, 호출자가 메서드에게 필요한 정보를 전달하는 데 사용됩니다. 매개변수 목록은 메서드 정의 시 괄호 안에 지정되며 다음과 같은 형식을 가집니다. public returnType methodName(parameterType1 parameterName1, parameterType2 parameterName2, ...) { // 메서드 본문 } 여기서 각 요소는 다음과 같습니다. - returnType : 메서드가 반환하는 값의 데이터 타입을 나타냅니다. 반환 값이 없는 경우 void로 지정됩니다. - methodName : 메..

JAVA/포스팅 2023.11.07

자바 메서드 이름 (Method Name)

자바 메서드의 이름 (Method Name)은 메서드를 구별하고 호출하는 데 사용되는 고유한 식별자입니다. 메서드 이름은 메서드 정의 시에 지정되며, 메서드 호출 시에 메서드 이름을 사용하여 원하는 메서드를 호출할 수 있습니다. 1. 메서드 이름 규칙 - 자바 메서드 이름을 지정할 때 다음 규칙을 따라야 합니다. - 메서드 이름은 유효한 식별자(Identifier)여야 합니다. - 메서드 이름은 문자로 시작해야 하며, 문자, 숫자, 밑줄(_) 등의 문자로 구성됩니다. - 대소문자를 구분합니다. 즉, 대문자와 소문자를 구별합니다. - 예약어(Reserved Keywords)는 메서드 이름으로 사용할 수 없습니다. 2. 관례 (Naming Convention) - 자바에서는 메서드 이름을 작성할 때 관례(C..

JAVA/포스팅 2023.11.07

자바 메서드 리턴 타입 (Return Type)

자바 메서드의 리턴 타입 (Return Type)은 메서드가 호출된 후에 반환하는 값의 데이터 타입을 나타내며, 메서드가 어떤 종류의 데이터를 반환하는지를 정의합니다. 메서드 정의 시에 메서드 이름과 매개변수 목록 다음에 리턴 타입을 지정합니다. 1. 리턴 타입의 역할 메서드의 리턴 타입은 메서드가 어떤 종류의 데이터를 반환하는지를 정의하며, 호출자에게 반환되는 값을 설명합니다. 메서드가 값을 반환하지 않는 경우에는 리턴 타입으로 void를 사용합니다. public int calculateSum() { // int 타입의 값을 반환 return 10 + 20; } public void printMessage() { // 아무 값도 반환하지 않음 (리턴 타입이 void) System.out.println(..

JAVA/포스팅 2023.11.07

자바 메서드 synchronized 제어자

자바에서 synchronized 메서드 제어자는 다중 스레드 환경에서 메서드의 동기화를 보장하는 데 사용됩니다. 이를 통해 여러 스레드가 동시에 접근하더라도 해당 메서드는 한 번에 하나의 스레드만 실행될 수 있도록 보장합니다. synchronized 메서드는 공유 자원에 대한 안전한 동시 액세스를 제공하며 스레드 간 경쟁 조건을 방지하는 데 사용됩니다. 1. synchronized 메서드 정의 synchronized 메서드는 메서드 선언 시 메서드 이름 앞에 synchronized 키워드를 사용하여 정의됩니다. public synchronized void synchronizedMethod() { // 메서드 구현 } 2.동기화 객체 synchronized 메서드는 특정 객체를 동기화 객체로 사용합니다. ..

JAVA/포스팅 2023.11.07

자바 메서드 final 제어자

자바에서 final 메서드 제어자는 메서드가 오버라이드(재정의)되지 못하도록 제한하는 역할을 합니다. final 메서드를 사용하면 해당 메서드는 하위 클래스에서 변경할 수 없으며 부모 클래스에서 정의한대로 사용됩니다. 1. final 메서드 정의 final 메서드는 메서드 선언 시 final 키워드를 사용하여 정의됩니다. 메서드 이름 뒤에 final 키워드가 붙습니다. public class Parent { public final void finalMethod() { // 메서드 구현 } } 2. 오버라이드 방지 final 메서드는 하위 클래스에서 오버라이드(재정의)할 수 없습니다. 즉, 하위 클래스에서 동일한 이름의 메서드를 새로 정의하거나 변경할 수 없습니다. public class Child ext..

JAVA/포스팅 2023.11.07

자바 메서드 static 제어자

자바 메서드에서 static 제어자는 해당 메서드가 객체의 인스턴스에 속하지 않고 클래스 자체에 속함을 나타내며, 클래스 수준 메서드로 동작하도록 지정합니다. static 메서드는 객체 생성 없이 호출할 수 있으며 클래스의 모든 인스턴스에서 동일한 메서드를 공유합니다. 1. static 메서드 정의 static 메서드는 메서드 선언 시 static 키워드를 사용하여 정의됩니다. 메서드 이름 앞에 static 키워드가 붙습니다. public class MyClass { public static void staticMethod() { // 메서드 구현 } } 2. 객체 인스턴스와 관련성 없음 static 메서드는 클래스 자체에 속하며, 객체의 인스턴스와 관련이 없습니다. 따라서 static 메서드는 객체를 ..

JAVA/포스팅 2023.11.07

자바 메서드 접근 제어자 (Access Modifier)

자바 메서드의 접근 제어자는 메서드가 어떻게 접근되고 사용되는지를 제어하는 키워드입니다. 메서드의 접근 제어자는 해당 메서드가 다른 클래스에서 호출될 수 있는지, 어디에서 호출될 수 있는지를 결정합니다. 1. public (공개) public 접근 제어자는 해당 메서드가 어디에서나 접근 가능하도록 합니다. 다른 클래스의 객체 또는 코드에서 자유롭게 호출할 수 있습니다. public void doSomething() { // 이 메서드는 어디서나 호출 가능 } 2. private (비공개) private 접근 제어자는 해당 메서드가 같은 클래스 내부에서만 접근 가능하도록 합니다. 다른 클래스에서 직접 호출할 수 없습니다. private void doSomething() { // 이 메서드는 같은 클래스 내..

JAVA/포스팅 2023.11.07

자바 메서드 return문

자바 메서드에서 return문은 메서드가 실행을 완료하고 값을 반환하는 데 사용됩니다. 1. return문의 역할 - return문은 메서드에서 결과 값을 반환하는 데 사용됩니다. 반환 값은 메서드 호출자에게 제공됩니다. - 반환 값은 메서드의 리턴 타입과 일치해야 합니다. 예를 들어, int 타입 메서드는 int 값을 반환해야 합니다. 2. 메서드 종료 return문을 실행하면 해당 메서드의 실행이 종료됩니다. 메서드가 return문을 만나면 해당 값(또는 표현식)을 반환하고 메서드가 종료됩니다. 3. void 리턴 타입 메서드의 리턴 타입이 void인 경우, 메서드는 반환 값이 없다는 것을 의미합니다. 이 경우 return문은 값을 반환하지 않고 메서드를 종료시킵니다. public void print..

JAVA/포스팅 2023.11.07

자바 메서드의 호출

자바에서 메서드를 호출하는 과정 1. 메서드 호출 다른 메서드에서 메서드를 호출할 때 메서드 이름을 사용하여 호출합니다. 메서드 호출은 메서드의 이름과 필요한 인수(매개변수)를 포함하는 괄호로 이루어집니다. 호출한 메서드는 호출된 메서드의 결과를 받거나 메서드의 작업을 실행하고 결과를 반환합니다. int sum = add(5, 3); // "add" 메서드를 호출하고 결과를 "sum" 변수에 저장 2. 메서드 호출 시 인수 전달 메서드 호출 시 필요한 입력 값을 전달합니다. 이러한 입력 값은 메서드 정의에 선언된 매개변수에 대응됩니다. 호출한 메서드는 이러한 입력 값을 사용하여 작업을 수행하고 필요에 따라 결과 값을 반환합니다. public int add(int a, int b) { return a + ..

JAVA/포스팅 2023.11.06

자바 메서드의 선언과 구현

자바 메서드는 클래스 내에서 특정 작업을 수행하기 위한 코드 블록입니다. 메서드는 객체 지향 프로그래밍의 핵심 요소 중 하나로, 코드의 재사용과 모듈화를 가능하게 합니다. 1. 메서드 선언 메서드를 선언하는 과정은 메서드의 시그니처를 정의하는 것입니다. 메서드 선언은 다음과 같은 구조를 가집니다. [접근 제어자] [기타 제어자] 리턴 타입 메서드 이름(매개변수 목록) throws 예외 목록 { // 메서드의 코드 블록 } - 접근 제어자 (Access Modifier) : 메서드의 접근 권한을 제어하는 키워드로, 메서드가 어디에서 접근 가능한지를 지정합니다. 예를 들어, public, private, protected, 또는 패키지 내 접근 제어자 등을 사용할 수 있습니다. - 기타 제어자 (Other ..

JAVA/포스팅 2023.11.06

자바 객체 매개변수 (Parameters)

자바에서 객체 매개변수(Parameters)는 메서드에 전달되는 값을 받는 변수를 가리킵니다. 객체 매개변수를 사용하면 메서드 간에 데이터를 전달하고, 메서드 내에서 데이터를 처리할 수 있습니다. 다음은 자바에서 객체 매개변수를 설명한 내용입니다. 1. 매개변수의 선언 메서드의 정의부에서 매개변수를 선언하며, 메서드가 호출될 때 전달되는 값은 이 매개변수에 할당됩니다. public void printName(String name) { // 'name'은 객체 매개변수 System.out.println("이름: " + name); } 2. 매개변수 전달 메서드를 호출할 때 매개변수에 값을 전달합니다. 전달된 값은 메서드 내에서 사용할 수 있게 됩니다. printName("Alice"); // "Alice"..

JAVA/포스팅 2023.11.06

자바 객체 지역 변수 (Local Variables)

자바에서 객체의 지역 변수(Local Variables)는 메서드 내에서 선언되고 메서드 내에서만 사용할 수 있는 변수입니다. 이러한 변수는 해당 메서드의 수행 중에만 유효하며 메서드가 종료되면 소멸합니다. 다음은 자바 객체의 지역 변수에 대한 설명입니다. 1. 지역 변수 선언 - 지역 변수는 메서드 내에서 선언되며, 해당 메서드에서만 사용할 수 있습니다. - 지역 변수는 메서드 내의 블록 또는 스코프 내에서 선언됩니다. public void calculateSum(int num1, int num2) { int sum; // 지역 변수 선언 // ... } 2. 지역 변수 초기화 - 지역 변수는 반드시 초기화되어야 합니다. 초기화하지 않은 지역 변수를 사용하려고 시도하면 컴파일 오류가 발생합니다. - 초..

JAVA/포스팅 2023.11.06

자바 객체 클래스 변수 (Class Variables 또는 Static Variables)

자바에서 객체 클래스 변수(Class Variables), 또는 정적 변수(Static Variables)는 해당 클래스의 모든 객체(인스턴스) 간에 공유되며, 클래스 수준의 데이터를 나타내는 데 사용됩니다. 모든 객체가 동일한 클래스 변수를 참조하며, 클래스가 로드될 때 메모리에 할당됩니다. 다음은 자바 클래스 변수에 대한 설명입니다. 1. 클래스 변수 선언 클래스 변수는 클래스 내부에서 선언되며, static 키워드를 사용하여 표시됩니다. 클래스 변수는 모든 객체(인스턴스)가 공유하므로 객체가 생성되지 않아도 클래스를 로드할 때 메모리에 할당됩니다. public class Student { static int studentCount; // 클래스 변수 String name; // 인스턴스 변수 } 2..

JAVA/포스팅 2023.11.06

자바 객체 인스턴스 변수 (Instance Variables)

자바 객체의 인스턴스 변수(Instance Variables)는 해당 객체(인스턴스)의 상태를 나타내고 저장하는 데 사용되는 멤버 변수입니다. 각 객체가 별도의 인스턴스 변수를 가지며, 이 변수들은 객체의 속성을 나타내고 다루는 데 중요한 역할을 합니다. 다음은 자바 인스턴스 변수에 대한 설명입니다. 1. 인스턴스 변수 선언 - 인스턴스 변수는 클래스 내부에서 선언되며, 클래스의 모든 메서드에서 접근할 수 있습니다. - 인스턴스 변수는 객체를 생성할 때마다 해당 객체의 상태를 저장하는 데 사용됩니다. public class Car { String model; // 모델명을 저장하는 인스턴스 변수 int maxSpeed; // 최대 속도를 저장하는 인스턴스 변수 } 2. 인스턴스 변수의 초기화 인스턴스 변..

JAVA/포스팅 2023.11.06

자바 객체 변수 종류

자바에서 객체 변수는 객체를 참조하고 해당 객체에 접근하는 데 사용되는 변수입니다. 객체 변수는 다양한 종류가 있으며, 다음은 자바에서 사용되는 주요 객체 변수의 종류에 대한 설명입니다. 1. 인스턴스 변수 (Instance Variables) - 인스턴스 변수는 객체(인스턴스)마다 별도로 존재하며, 해당 객체의 상태를 나타내는 속성을 저장합니다. - 클래스 내부에 선언되지만 메서드 외부에 위치하며, 객체를 생성할 때 메모리에 할당됩니다. - 인스턴스 변수는 객체의 상태를 유지하고 객체 간에 데이터 공유가 아니라 객체마다 고유한 값을 가집니다. public class Car { String model; // 인스턴스 변수 int maxSpeed; // 인스턴스 변수 } 2. 클래스 변수 (Class Va..

JAVA/포스팅 2023.11.06

자바 객체 변수

자바 객체 변수는 객체를 참조하고 해당 객체에 접근하는 데 사용되는 변수를 가리킵니다. 객체 변수는 객체 지향 프로그래밍에서 중요한 역할을 합니다. 아래에서 자바 객체 변수에 대해 알아보겠습니다. 1. 객체 변수 선언 객체 변수를 선언할 때는 객체의 클래스 이름과 변수 이름을 지정해야 합니다. 객체 변수는 해당 클래스의 인스턴스를 참조하며, 선언만으로는 객체가 생성되지 않습니다. ClassName objectVariable; // 객체 변수 선언 2. 객체 생성 및 할당 객체 변수를 사용하기 위해서는 객체를 생성하고, 그 객체를 변수에 할당해야 합니다. 이때 new 키워드를 사용하여 객체를 생성하고, 생성된 객체를 변수에 할당합니다. objectVariable = new ClassName(); // 객체..

JAVA/포스팅 2023.11.06

자바 클래스의 또 다른 정의

자바 클래스는 객체 지향 프로그래밍(OOP)의 핵심 요소 중 하나로, 객체를 생성하기 위한 템플릿 또는 설계도로 사용됩니다. 클래스는 객체의 속성(멤버 변수)과 동작(메서드)을 정의하고, 객체를 생성하기 위한 기본 틀을 제공합니다. 아래에서 자바 클래스의 또 다른 정의와 관련 내용을 설명하겠습니다. 1. 객체의 틀 또는 설계도 - 클래스는 객체의 설계도 또는 틀로, 어떤 객체를 생성할 때 그 객체의 구조와 동작을 결정합니다. - 클래스는 객체를 생성하는데 사용되며, 클래스의 인스턴스(객체)를 생성하면 해당 클래스의 속성과 메서드가 인스턴스에 상속됩니다. 2. 속성(멤버 변수)의 정의 - 클래스는 객체가 가질 수 있는 속성(데이터 멤버 또는 멤버 변수)을 정의합니다. 이러한 속성은 객체의 상태를 나타내며,..

JAVA/포스팅 2023.11.06

자바 객체 배열

자바 객체 배열은 객체의 배열을 저장하는 데 사용되는 자료 구조입니다. 객체 배열은 동일한 클래스(또는 서브클래스)의 여러 객체를 저장하거나 관리할 때 유용합니다. 아래에서 자바 객체 배열에 대해 알아보겠습니다. 1. 객체 배열 선언 및 생성 객체 배열을 선언하고 생성하는 방법은 다음과 같습니다. // 객체 배열 선언 ClassName[] objectArray; // 객체 배열 생성 (크기 지정) objectArray = new ClassName[size]; 여기서 ClassName은 객체 배열에 저장될 객체의 클래스 이름이며, size는 배열의 크기를 나타냅니다. 예를 들어, Car 클래스의 객체 배열을 생성하려면 다음과 같이 사용할 수 있습니다. Car[] carArray = new Car[5]; /..

JAVA/포스팅 2023.11.06