본문 바로가기

분류 전체보기292

필드(Field) 자바에서 필드(Field)는 클래스 내부에 선언된 변수로, 클래스의 객체(인스턴스)의 상태를 나타냅니다. 필드는 클래스의 데이터를 저장하고 객체의 상태를 유지하는 역할을 합니다. 필드는 객체의 속성을 표현하며, 클래스의 모든 메서드에서 접근할 수 있습니다.  필드의 종류자바에서는 크게 인스턴스 변수와 클래스 변수(static 변수)로 나눌 수 있습니다.인스턴스 변수 (Instance Variable):각각의 객체(인스턴스)마다 고유한 값이 가질 수 있는 변수입니다.객체가 생성될 때마다 각 객체마다 별도의 인스턴스 변수가 생성됩니다.new 키워드를 사용하여 객체를 생성할 때 초기화됩니다.인스턴스 변수는 해당 클래스의 객체마다 개별적으로 유지됩니다.클래스 변수 (Class Variable 또는 Static .. 2024. 6. 28.
메서드(Method)와 생성자(Constructor) 메서드 (Method)메서드는 클래스 내에서 특정 작업을 수행하는 코드 블록입니다. 메서드는 반복적으로 사용될 수 있는 코드를 하나로 묶어서 재사용성과 코드의 구조화를 증가시키는 데 유용합니다. 메서드는 다음과 같은 특징을 가집니다:구성 요소: 메서드는 이름, 매개변수 목록, 반환 유형, 메서드 본문으로 구성됩니다.이름: 메서드는 고유한 이름을 가져야 하며, 일반적으로 동사 형태로 짓습니다 (예: calculate, print, processData 등).매개변수: 메서드가 필요로 하는 입력 값을 매개변수(parameter)를 통해 전달받습니다. 매개변수가 없을 수도 있습니다.반환 유형: 메서드가 결과를 반환할 경우, 반환 유형(return type)을 명시합니다 (void는 반환하지 않음을 의미).재사.. 2024. 6. 28.
2024.06.27 (목) {포인터 변수, 조건문, 반복문, 데이터타입, JVM, new키워드 } 포인터 변수의 선언포인터 변수는 다음과 같은 형식으로 선언됩니다.타입 *포인터이름;여기서 타입은 포인터가 가리킬 변수의 타입을 의미합니다. 예를 들어, 정수형 변수를 가리키는 포인터는 int *로 선언됩니다. 포인터 변수의 초기화포인터 변수를 초기화하려면 다른 변수의 주소를 대입해야 합니다. 주소 연산자 &를 사용하여 변수의 주소를 얻을 수 있습니다.int a = 10;int *p = &a; // 변수 a의 주소를 포인터 p에 저장 포인터 변수의 사용포인터 변수를 사용하여 해당 주소에 저장된 값에 접근할 수 있습니다. 이를 역참조(dereferencing)라고 합니다. 역참조 연산자 *를 사용합니다.int a = 10;int *p = &a;printf("a의 값: %d\n", a); // 10p.. 2024. 6. 27.
클래스(Class)의 개념 클래스와 객체(인스턴스)는 객체 지향 프로그래밍(OOP)의 핵심 개념 클래스 (Class)클래스는 객체를 생성하기 위한 청사진(설계도)입니다. 클래스는 객체가 가질 속성(데이터)과 행동(메서드)을 정의합니다. 클래스 자체는 구체적인 값을 가지지 않으며, 단지 객체를 만들기 위한 틀을 제공합니다.속성 (Attributes): 클래스가 가지는 데이터. 필드(field)라고도 합니다.메서드 (Methods): 클래스가 할 수 있는 동작. 함수라고도 합니다.객체 (Object) 또는 인스턴스 (Instance)객체는 클래스로부터 생성된 구체적인 개체입니다. 객체는 클래스에서 정의한 속성과 메서드를 실제로 가지고 있으며, 메모리에 할당됩니다. 객체는 클래스의 인스턴스라고도 합니다.인스턴스화 (Instantiati.. 2024. 6. 27.
객체지향 프로그래밍(Object-Oriented Programming, OOP)의 특징 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 소프트웨어 설계와 개발의 패러다임으로, 프로그램을 객체(object)라는 단위로 구성하는 것을 중심으로 합니다. OOP의 주요 특징은 캡슐화(encapsulation), 상속(inheritance), 다형성(polymorphism), 추상화(abstraction)입니다. 이 네 가지 원칙은 객체지향 프로그래밍의 근간을 이루며, 소프트웨어의 구조와 동작을 정의하는 데 중요한 역할을 합니다. 1. 캡슐화 (Encapsulation)캡슐화는 객체의 상태(데이터)를 보호하고, 객체 내부의 구현 내용을 숨기며, 객체 외부에서는 이를 알지 못하도록 하는 것입니다. 이를 통해 데이터의 무결성을 유지하고, 객체 간의 상호 작용을 명확하게.. 2024. 6. 27.
배열(Array)과 리스트(List) 배열과 리스트는 데이터를 저장하고 관리하는 기본적인 자료 구조입니다.  두 자료 구조는 각각의 특성과 장단점이 있으며,  용도에 따라 적합한 선택이 필요합니다.  배열 (Array)특징고정 크기: 배열은 생성 시 크기가 정해지며, 이후에는 크기를 변경할 수 없습니다.인덱스 접근: 배열의 요소는 인덱스를 통해 O(1) 시간 복잡도로 접근할 수 있습니다.동일한 데이터 타입: 배열의 모든 요소는 동일한 데이터 타입을 가져야 합니다. 장점빠른 접근 속도: 인덱스를 통해 요소에 바로 접근할 수 있어 매우 빠릅니다.메모리 효율성: 요소들이 연속된 메모리 공간에 저장되어 있어 메모리 접근이 효율적입니다.간단한 구조: 구조가 단순하여 오버헤드가 적습니다.단점고정 크기: 배열의 크기를 동적으로 변경할 수 없으므로, 크기.. 2024. 6. 26.