본문 바로가기

분류 전체보기181

java 런타임 데이터 에리어 java 런타임 데이터 에리어Java에서 런타임 데이터 에리어는 프로그램 실행 중 JVM이 사용하는 메모리 영역들을 의미합니다. 주요 구성 요소는 다음과 같습니다.  메소드 에리어(Method Area): 클래스 수준의 데이터(메타데이터)가 저장되는 영역입니다. 이 영역에는 다음과 같은 것들이 포함됩니다.클래스(또는 인터페이스) 메타데이터: 클래스와 인터페이스의 구조적 정보(예: 클래스 이름, 부모 클래스 이름, 인터페이스 목록 등).필드 정보: 클래스에 정의된 변수들(스태틱 변수 포함)의 정보.메서드 정보: 클래스에 정의된 메서드의 코드와 메서드의 바이트코드, 메서드에 대한 정보(이름, 리턴 타입, 매개변수 타입 등).스태틱 필드(변수): 클래스 수준에서 관리되는 변수로, 클래스 로딩 시점에 메모리에 .. 2024. 7. 15.
this 키워드와 super 키워드 this 키워드 자바와 같은 객체 지향 프로그래밍 언어에서 사용되는 특수한 키워드입니다. this는 현재 객체를 가리키는 참조(Reference)를 의미하며, 주로 다음과 같은 상황에서 사용됩니다.  1.  현재 객체의 인스턴스 변수에 접근this 키워드를 사용하여 현재 객체의 인스턴스 변수에 접근할 수 있습니다. 이는 특히 메서드의 매개변수와 인스턴스 변수의 이름이 같을 때 유용합니다.public class MyClass { private int x; public void setX(int x) { this.x = x; // this를 사용하여 인스턴스 변수에 접근 }}위 예제에서 setX 메서드의 매개변수 x와 인스턴스 변수 x의 이름이 같기 때문에 this를 사용하여 인.. 2024. 7. 15.
접근 제어자(access modifier) 객체 지향에서 정보 은닉(data hiding)이란 사용자가 굳이 알 필요가 없는 정보는 사용자로부터 숨겨야 한다는 개념입니다.그렇게 함으로써 사용자는 언제나 최소한의 정보만으로 프로그램을 손쉽게 사용할 수 있게 됩니다.자바에서는 이러한 정보 은닉을 위해 접근 제어자(access modifier)라는 기능을 제공하고 있습니다.접근 제어자를 사용하면 클래스 외부에서의 직접적인 접근을 허용하지 않는 멤버를 설정하여 정보 은닉을 구체화할 수 있습니다. 자바에서는 다음과 같은 네 가지의 접근 제어자를 제공합니다. 1. private2. public3. default4. protected  private 접근 제어자 private 접근 제어자를 사용하여 선언된 클래스 멤버는 외부에 공개되지 않으며, 외부에서는 직.. 2024. 7. 15.
게터(getter)와 세터(setter) 메서드 getter와 setter는 데이터 캡슐화를 구현하는 데 사용되는 메서드입니다. 주로 private으로 선언된 인스턴스 변수의 값을 읽거나 설정하는 역할을 합니다. 이 메서드들은 객체 지향 프로그래밍에서 정보 은닉(information hiding)을 실현하는 데 중요한 역할을 합니다. Getter  메서드Getter 메서드는 주로 인스턴스 변수의 값을 반환하는 역할을 합니다. 일반적으로 다음과 같은 특징을 가집니다:접근 제어자: 대부분 public으로 선언되어야 합니다. 외부에서 접근할 수 있어야 변수 값을 읽을 수 있습니다.메서드 이름: 보통 get으로 시작하며, 그 뒤에 변수명의 첫 글자를 대문자로 시작한 이름을 붙입니다. 예를 들어, getName() 메서드는 name 변수의 값을 반환합니다.반환.. 2024. 7. 15.
2024.07.15 (월) { 제너릭 } 제너릭 클래스 제네릭(Generic) 클래스는 Java에서 데이터 타입을 미리 지정하지 않고, 클래스나 메서드를 정의할 때 타입 파라미터를 사용하여 유연성과 재사용성을 높이는 방법입니다. 제네릭스를 사용하면 여러 타입에 대해 동작하는 클래스나 메서드를 작성할 수 있으며, 컴파일 시 타입 안전성을 보장받을 수 있습니다. 제네릭 클래스는 하나 이상의 타입 파라미터를 가지는 클래스입니다. 이 타입 파라미터는 클래스가 인스턴스화될 때 실제 데이터 타입으로 대체됩니다. 제네릭 클래스는 클래스 정의 시점에 타입을 고정하지 않고, 필요할 때 다양한 타입을 사용할 수 있도록 설계됩니다. 제네릭 클래스를 정의할 때, 타입 파라미터는 클래스 이름 바로 뒤에 옵니다.public class Box { 제네릭 클래스의 제약사항.. 2024. 7. 15.
2024.07.12 (금) { try-catch, toString(), 다형성(Polymorphism) } ' try-catch 'try-catch 문은 자바에서 예외 처리를 위한 구조입니다. 예외가 발생할 수 있는 코드를 try 블록 내에 작성하고, 예외가 발생했을 때 이를 처리하는 코드를 catch 블록 내에 작성합니다. 이를 통해 프로그램의 비정상 종료를 방지하고, 예외 발생 시 적절한 대처를 할 수 있습니다. 기본 구조 try { // 예외가 발생할 수 있는 코드} catch (ExceptionType e) { // 예외 처리 코드} ' toString() 'toString() 메서드는 자바에서 객체를 문자열로 표현하는 방법을 제공하는 메서드입니다. 모든 클래스는 Object클래스를 상속받으며, Object 클래스의 toString() 메서드를 재정의(override)하여 객체의 상태를 의미.. 2024. 7. 12.