전체 글 108

객체지향언어란?

✔️ 객체지향언어 (Object-Oriented Programming Language) 소프트웨어 개발 방법론 중 하나로, 현실 세계의 사물을 모델링하여 소프트웨어를 구성하는 프로그래밍 패러다임이다. 이 방법론은 코드의 재사용성, 유지보수성, 확장성 등을 향상시키는 데 목적을 두고 있다. 객체지향언어는 클래스와 객체의 개념을 중심으로 하며, 객체들 간의 상호작용을 통해 프로그램을 구성한다. 객체지향언어의 주요 특징은 다음과 같다. 1. 클래스와 객체 객체지향언어에서는 클래스(class)와 객체(object)라는 개념을 사용한다. 클래스는 특정한 속성과 행위(메서드)를 가진 객체들을 정의한 템플릿이다. 객체는 클래스의 인스턴스로, 실제로 메모리에 할당되어 사용되는 것을 나타낸다. 2. 캡슐화(Encapsu..

JAVA 2023.08.17

메서드(Method)란?

-- 자바에서 클래스는 멤버(member)로 속성을 표현하는 필드(field)와 기능을 표현하는 메소드(method)를 가진다. 그중에서 메소드란 어떠한 특정 작업을 수행하기 위한 명령문의 집합이라 할 수 있다. ✔️ 메서드란? (method) 객체 지향 프로그래밍에서 클래스 내에서 특정 작업을 수행하는 코드 블록을 말한다. 메서드는 클래스의 동작이나 기능을 정의하며, 객체의 상태를 변경하거나 특정 계산을 수행하는 역할을 한다. 메서드는 클래스의 멤버로서 클래스 내부에서 정의되며, 외부에서 호출하여 사용할 수 있다. 메서드의 특징과 역할은 다음과 같다. • 코드 재사용 메서는 작업의 논리를 단일 코드 블록으로 묶어서 중복을 방지하고 코드의 재사용성을 높이는 데 도움을 준다. • 기능 추상화 클래스의 기능..

JAVA 2023.08.17

접근 제어자란? (public, protected, default, private)

✔️ 접근 제어자(Access Modifier)란? 객체 지향 프로그래밍에서 클래스의 멤버(필드, 메서드, 내부 클래스 등)에 대한 접근 권한을 제어하는 속성이다. 접근 제어자는 클래스의 캡슐화, 정보 은닉, 보안성 등을 관리하고 조절하는 데 사용된다. 다른 클래스나 코드에서 해당 멤버에 접근할 수 있는지 여부를 결정하며, 코드의 모듈화와 유지 보수를 도와준다. 주요 접근 제어자에는 일반적으로 다음과 같은 네 가지 종류가 있다. 1. public public 접근 제어자는 해당 멤버가 어떤 클래스든 접근 가능하도록 허용한다. 다른 클래스에서도 자유롭게 접근할 수 있으며, 해당 멤버에 대한 외부 공개 인터페이스를 제공할 때 사용된다. • public 클래스와 메서드 public 접근 제어자를 사용하여 클래..

JAVA 2023.08.17

RAM(메모리) 구조 (stack, heap, data 영역, code 영역)

✔️ RAM(Random Access Memory) 컴퓨터 시스템의 주요 메모리 구성 요소 중 하나로, 프로그램과 데이터를 저장하고 CPU가 빠르게 액세스하여 처리할 수 있는 물리적인 공간이다. 램은 컴퓨터가 작업을 수행하는 동안 필요한 데이터를 일시적으로 저장하며, 프로그램의 실행과 데이터 처리에 중요한 역할을 한다. 프로그램이 실행되는 과정 ● 저장방식 램은 전기 신호로 데이터를 저장하고 읽어온다. 각 메모리 셀은 비트(0 또는 1)을 저장할 수 있는 작은 용량을 가지며, 이 비트는 정보를 나타낸다. 램은 플립플럽과 커패시터 등의 전자 기술을 사용하여 데이터를 보관한다. ● 용량 램의 용량은 컴퓨터 시스템마다 다르며, 일반적으로 몇 기가바이트(Gigabytes, GB)에서 수십 기가바이트까지 다양한 ..

CS 2023.08.16

형변환(casting) (자동 형변환, 강제 형변환)

✔️ 형변환이란? 변수나 값의 타입을 다른 타입으로 변환하는 것을 말한다. 자바에서는 기본 데이터 타입과 객체 타입 간의 형변환을 다룰 수 있다. 두가지 형변환 유형이 있다. ✔️ 컴퓨터의 값 처리 원칙 같은 종류 자료형만 대입 가능하다. 같은 종류 자료형만 계산 가능하다. 계산의 결과도 같은 종류의 값이 나와야 한다. -> 이러한 원칙이 지켜지지 않은 경우에 형변환이 필요하다. 1. 암시적(자동) 형변환 (Implicit or Automatic Casting) 암시적 형변환은 작은 크기의 데이터 타입이 큰 크기의 데이터 타입으로 자동으로 변환되는 것을 말한다. 이때 데이터의 손실이 발생하지 않는다. 암시적 형변환은 자바 컴파일러에 의해 자동으로 처리되며, 개발자가 별도의 코드를 작성하지 않아도 된다. ..

JAVA 2023.08.15

Spring Boot 라이브러리

✔️ Gradle은 의존 관계가 있는 라이브러를 함께 다운로드 한다. 아래 코드 조각은 Gradle 빌드 스크립트에서 프로젝트의 의존성(dependencies)을 설정하는 부분이다. Spring Boot 애플리케이션을 개발할 때 자주 사용되는 Spring Boot 스타터 의존성을 설정하는 부분이다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' } ✔️ i..

Spring Boot 2023.08.11

Gradle과 Maven 차이?

Gradle Maven Build Script 언어 Groovy 또는 Kotlin 스크립트를 사용하여 빌드 스크립트를 작성한다. Groovy는 동적인 특성을 가진 JVM 언어이며, Kotlin은 정적인 특성을 가진 언어이다. Gradle은 빌드 스크립트를 더 간결하고 가독성 있게 작성할 수 있는 유연성을 제공한다. XML 기반의 POM(Project Object Model) 파일을 사용하여 빌드 설정을 정의하나. XML은 구조화 되어있지만 상대적으로 가독성이 좋지 않을 수 있다. 설정 및 의존성 관리 복잡한 의존성 관리와 설정을 유연하게 처리할 수 있다. Groovy 또는 Kotlin 스크립트를 사용하여 라이브러리 의존성, 플러그인, 사용자 정의 작업 등을 선언할 수 있다. XML 기반의 POM 파일을 ..

Spring Boot 2023.08.11

변수에 대해서

✔️ 변수란 무엇일까? 변수는 어떤 저장하기 위한 메모리(RAM) 공간이다. 프로그램의 실행 중에 값을 저장하고 사용할 수 있도록 메모리 공간을 할당하는 역할을 한다. ✔️ 변수의 구성 변수는 이름(identifier)과 값(value)으로 구성된다. 이름은 변수를 식별하는데 사용되며, 영문자, 숫자, 언더스코어(_)로 이루어진다. 특수문자는 '_'와 '$'만을 허용하는데 '$'는 내부 클래스에서 사용 가능하고 '_' 사용 시 컴파일 에러는 없지만 관례상 사용하지 않는 것이 좋다. 예약어를 사용하면 안되며 대소문자가 구분되고 길이 제한이 없다. 또한 여러 단어 이름은 단어의 첫 글자를 대문자로 하며, 첫 시작 글자는 소문자로 하는 것이 관례이다. ➕ 주요 예약어 ✔️ 변수의 선언 변수를 사용하기 전에 먼..

JAVA 2023.08.11

JWT란 무엇일까?

✔️JWT란 무엇일까? JSON Web Token의 약자로, 웹 어플리케이션 간에 정보를 안전하게 전달하기 위해 사용되는 토큰 기반 인증 방식이다. JWT는 클레임(Claim) 기반으로 정보를 저장하고, JSON 포맷으로 데이터를 표현한다. 인증에 필요한 정보들을 token에 담아 암호화 시켜 사용하는 토큰인것! 따라서 기본적인 인증을 진행하는 구조는 Cookie와 크게 다르지 않다. 다만, 강조되는 점은 JWT는 서명된 토큰이라는 것이다. 공개/개인 키를 쌍으로 사용하여 토큰에 서명할 경우 서명된 토큰은 개인 키를 보유한 서버가 이 서명된 토큰이 정상적인 토큰인지 인증할 수 있다는 것이다. 🔶 JWT는 크게 세 부분으로 구성된다. 1. Header(헤더) 토큰의 유형과 해시 알고리즘을 지정한다. 일반적..

CS 2023.08.10

public static void main(String[] args) 무슨 의미지?

✔️ public static void main(String[] args) 자바 프로그램의 실행 진입점(entry point)을 정의하는 메서드이다. 이 메서드는 프로그램이 실행될 때 자동으로 호출되며, 프로그램의 시작점을 나타낸다. 이 메인 메소드는 자바 어플리케이션 실행 시 제일 먼저 동작하며 어느 객체에서든 접근할 수 있으며 자바가 컴파일 되는 순간 정의되는 돌려주는 값이 없는 함수인 것! public static void main(String[] args) 단 한개만 엔트리 포인트로 정의했기 때문에 오버로딩 된 다른 형태의 main 함수는 엔트리 포인트로 동작하지 않는다. • public main 메서드가 다른 클래스에서도 접근 가능하도록 공개되어 있다는 의미이다. 접근제어자는 외부에서 접근할 수..

JAVA 2023.08.10