JAVA/이론정리 7

자바 상속의 개념, 특징, 그리고 간단한 예시

상속이란?   상속은 객체지향 프로그래밍(OOP)에서 기존 클래스(부모 클래스 또는 슈퍼 클래스)의 속성과 메서드를 새로운 클래스(자식 클래스 또는 서브 클래스)에 물려주는 개념이다. 이를 통해 코드 재사용성을 높이고, 클래스 간 계층 구조를 만들어 기능을 확장하거나 수정하기 용이하다.  상속의 주요 특징코드 재사용성: 부모 클래스의 기능을 그대로 물려받아 중복 코드를 줄일 수 있다.확장성: 자식 클래스는 부모 클래스의 기능을 확장하거나 수정할 수 있다.is-a 관계: 자식 클래스는 부모 클래스의 일종으로 간주된다.다형성: 부모 클래스의 메서드를 재정의(오버라이딩)하여 다양한 형태로 동작할 수 있다.상속의 문법 자바에서 상속은 extends 키워드를 사용하여 구현한다.class 부모클래스 { // ..

JAVA/이론정리 2024.12.18

스택(static) 과 힙(Heap)

스택(static)이란? 스택은 프로그램에서 임시로 사용하는 작은 메모리 공간이다. 다음과 같은 특징이 있다용도: 함수 호출 시 생성되는 지역 변수와 매개변수를 저장한다 작동 방식: 접시를 쌓고 사용하는 것처럼, 가장 최근에 추가된 데이터를 먼저 사용한다메모리 관리: 함수가 호출될 때 자동으로 할당된다 함수가 종료되면 자동으로 해제된다장점: 속도가 매우 빠르다.프로그래머가 직접 메모리를 관리할 필요가 없다 제한: 크기가 고정되어 있어 큰 데이터를 저장하기 어렵다스택은 마치 책상 위의 작은 서랍과 같아서, 자주 사용하는 작은 물건들을 빠르게 넣었다 뺐다 할 수 있는 공간이라고 생각하면된다 힙(heap)이란?힙 메모리는 프로그램에서 사용하는 큰 창고 같은 공간입니다. 주요 특징은 다음과 같다. 동적 할당: ..

JAVA/이론정리 2024.12.15

객체와 인스턴스

객체란?  데이터와 기능을 가집니다. 실제 세상의 것을 프로그램으로 표현합니다. 서로 상호작용할 수 있습니다. 쉽게 말해 "객체는 프로그램 안의 살아있는 개체"라고 생각하면 됩니다   인스턴스란?  인스턴스는 쉽게 말해 "설계도(클래스)로 찍어낸 실제 물건(객체)"입니다. 비유로 이해하기 자동차 설계도 = 클래스 실제 도로에서 달리는 자동차 = 인스턴스특징 new 키워드로 생성 각각 고유한 메모리 공간을 가짐 서로 다른 상태를 가질 수 있음  즉, 인스턴스는 "클래스라는 틀로 찍어낸 실제 객체"라고 생각하면 됩니다.

JAVA/이론정리 2024.12.15

함수와 메소드의 정의

프로그래밍을 하다 보면 자주 접하게 되는 개념 중 하나가 바로 함수와 메소드입니다. 이 두 용어는 비슷하게 사용되기도 하지만, 그 의미와 사용 방식에는 큰 차이가 있습니다. 이번 포스팅에서는 함수와 메소드의 정의, 차이점, 그리고 비유를 통해 쉽게 이해할 수 있도록 설명해 드리겠습니다. 함수(Function)란?함수는 특정 작업을 수행하고 결과를 반환하는 코드 블록입니다. 프로그래밍 언어에 따라 내장 함수가 있을 수 있으며, 사용자가 직접 정의할 수도 있습니다. 함수는 독립적으로 존재하며, 입력값을 받아서 결과를 반환하는 구조로 되어 있습니다. 예를 들어, 수학에서의 함수처럼 어떤 입력값을 주면 그에 대한 결과를 반환하는 것이죠.함수는 다음과 같은 특징을 가지고 있습니다:독립성 : 함수는 특정 클래스나 ..

JAVA/이론정리 2024.12.11

생성지 와 게터(getter), 세터(setter)

생성자란? 생성자는 객체를 만들때 자동으로 호출되는 특별한 메소드이다. 생성자의 주요 특징은 다음과같다1. 객체 초기화 :  생성자는 새로운 갹채거 먼들오질때 그 객체의 초기 상태를 설정합니다.  2. 클래스 이름과 동일 : 생성자의 이름은 클래스의 이름과 같아야한다. 예를 들어 Car 클래스의 생성자는 Car 이라는 이름을 가지게 된다3. 자동 호출: 객체 생성할때 new 키워드를 상용하면 생성자가 자동으로 호출된다(그레서 따로 호출할 필요가 없다)4. 다양한 형태: 하나의 클래스에 여러개의 생성자를 만들 수 있다. 이를 통해 객체를 다양한 방식으로 초기화할 수 있다.5. 변화 값 없음 : 생성자는 값을 반화하지 않습니다. 단지 객체를 초기화하는 역활만을 한다.생성자를 사용하면 객체가 생성된는 순간부터..

JAVA/이론정리 2024.12.11

객체 지향 프로그래밍(OOP) 개요

객체 지향 프로그래밍(OOP)은 현대 소프트웨어 개발에서 매우 중요한 개념입니다. OOP는 프로그램을 객체라는 독립적인 단위로 나누어 설계하고 구현하는 방법론으로, 이를 통해 코드의 재사용성과 유지보수성을 높일 수 있습니다. 이번 포스팅에서는 OOP의 기본 개념과 자바에서의 구현 방법에 대해 자세히 알아보겠습니다.객체 지향 프로그래밍은 객체를 중심으로 프로그램을 설계하는 방법입니다. 객체는 데이터와 그 데이터를 처리하는 메서드를 함께 포함하는 독립적인 단위로, 예를 들어 자동차라는 객체는 색상, 모델 같은 속성을 가지고 있으며, 주행, 정지 같은 행동을 수행할 수 있습니다. 이러한 객체들이 서로 상호작용하면서 프로그램의 로직을 구성하게 됩니다.객체의 정의와 특징객체는 속성과 메서드로 구성됩니다. 속성은 ..

JAVA/이론정리 2024.12.11

자바란?

자바(Java/프로그래밍 언어)는1995년 썬 마이크로시스템즈(Sun Microsystems)에서 발표한 객체 지향 프로그래밍 언어입니다. 초기에는 가전 제품을 위한 언어로 개발되었지만, 현재는 웹 애플리케이션, 모바일 앱, 서버 애플리케이션 등 다양한 분야에서 널리 사용되고 있습니다. Spring Boot Framework : 서버 개발 프레임워크  개발툴 : Intellij , Visual Stidio Code(VSC),Cursor IDE자바의 주요 특징 1.객체 지향 언어: 자바는 모든 것을 객체로 모델링하여 프로그램을 구성합니다. 이는 코드의 재사용성과 유지보수성을 높입니다.2.플랫폼 독립성: 자바로 작성된 프로그램은 JVM(Java Virtual Machine)..

JAVA/이론정리 2024.12.06