분류 전체보기 65

[DART] 상속(Inheritance)이란 무엇인가요?

상속(Inheritance)은 객체 지향 프로그래밍(OOP)의 핵심 개념 중 하나로, 부모 클래스가 가진 속성(상태)과 메서드(행위)를 자식 클래스가 물려받는 것을 의미합니다. 이를 통해 코드 재사용성을 높이고, 계층적인 구조를 통해 클래스 간의 관계를 명확히 표현할 수 있습니다.하지만 단순히 "물려받는 것" 이상의 의미를 가지며, 다형성(Polymorphism)이 성립할 때 진정으로 올바른 상속이라 할 수 있습니다.  다형성이란?"하나의 형태가 다양한 형태로 동작하는 것" 상속 관계에서 다형성이란, 자식 클래스의 객체가 부모 클래스의 형태로 사용될 수 있는 것을 뜻합니다. 예를 들어, 자식 클래스가 부모 클래스의 타입으로 묶여 있을 때도 부모 클래스에서 정의된 행위를 동일하게 수행하거나, 자식 클래스에..

Flutter/Dart 2025.01.06

[DART] Sound Null Safety in dart

ㅇㅇ널 세이프티(Null Safety)는 개발자가 널 에러를 피할 수 있도록 도와주는 다트 프로그래밍 언어의 기능입니다. 이 기능은 사운드 널 세이프티 인 다트(Sound Null Safety in dart)라고 불리며, 이를 통해 개발자는 코드 작성 시점에 널 에러를 잡을 수 있습니다.  Sound Null Safety in dart 이란 (Sound Type System) 런타임 중에 null 포인터 예외를 방지하기 위해 Dart 컴파일러가 코드를 분석하고 컴파일할 때 타입 시스템에서 엄격한 규칙을 적용하는 것을 의미합니다.정리하면, Dart 컴파일러가 코드를 분석하고, null이 될 수 있는 타입과 null이 될 수 없는 타입을 분명히 구분해 주기 때문에, 우리가 실수로 null을 넣거나 반환하게 ..

Flutter/Dart 2025.01.06

[네트워크] HTTPS : 웹 통신 보안 프로토콜

HTTP는 클라이언트와 서버 간 데이터를 평문으로 주고받는 프로토콜입니다. 하지만 이런 특성 때문에 통신 내용이 쉽게 노출될 위험이 있습니다. 예를 들어, 로그인 과정에서 전송된 POST 요청은 사용자 ID와 비밀번호 같은 민감한 정보를 포함합니다. 만약 공격자가 이를 가로챈다면, 계정 탈취와 같은 심각한 문제가 발생할 수 있습니다.이를 보완하기 위해 만들어진 것이 HTTPS입니다.  HTTPS란? HTTPS(Hypertext Transfer Protocol Secure)는 HTTP에 TLS(Transport Layer Security)를 도입하여 보안을 강화한 프로토콜입니다. TLS는 서버와 클라이언트 사이에 오가는 모든 HTTP 메시지를 암호화합니다. 공격자가 중간에 메시지를 탈취하더라도 이를 해석하..

네트워크 2025.01.04

[네트워크] HTTP 상태코드 정리

HTTP 상태 코드는 서버가 클라이언트 요청을 처리한 결과를 나타내며, 숫자와 짧은 설명(Reason Phrase)으로 구성됩니다. 상태 코드는 첫 번째 자릿수를 기준으로 5개의 클래스(Class)로 분류됩니다.1xx: Informational (정보)클라이언트가 요청을 계속 진행할 수 있음을 알리는 응답.코드설명 (Reason Phrase)의미100Continue요청이 부분적으로 완료되었으며, 계속 진행 가능101Switching Protocols프로토콜 전환 승인102Processing (WebDAV)요청을 수신했으며 처리 중103Early Hints응답의 일부 정보를 먼저 제공  2xx: Success (성공)요청이 성공적으로 처리되었음을 알리는 응답.코드설명 (Reason Phrase)의미200O..

네트워크 2025.01.04

[네트워크] HTTP 요청과 응답

웹 개발에서 HTTP 요청과 응답은 서버와 클라이언트 간의 상호작용을 정의하는 기본적인 구성 요소입니다. HTTP는 클라이언트가 서버에 특정 작업을 요청하고, 서버는 해당 작업의 결과를 클라이언트에 반환하는 방식으로 작동합니다. 이번 포스팅에서는 HTTP 요청과 응답의 구조와 주요 특징을 살펴보겠습니다. 1. HTTP 요청: 클라이언트의 요구사항HTTP 요청은 서버에게 특정 동작을 요구하는 메시지입니다. 서버는 해당 동작이 실현 가능한지, 클라이언트가 그러한 동작을 요청할 권한이 있는지 등을 검토하고, 적절할 때만 이를 처리합니다.HTTP 요청의 시작 줄은 요청의 가장 중요한 세 가지 요소로 구성됩니다:메소드(Method)요청 URI(Request-URI)HTTP 버전(HTTP Version)각 요소는 ..

네트워크 2025.01.04

[JAVA] 제어문(조건문, 반복문)

프로그래밍에서 제어문은 코드의 흐름을 제어하여 원하는 작업을 효율적으로 수행할 수 있게 해주는 핵심 도구입니다. 이번 포스팅에서는 자바(Java)의 조건문과 반복문에 대해 알아보겠습니다. 1. 조건문 (선택 제어문) : 특정 조건에 따라 코드 실행 흐름 제어하기조건문은 특정 조건을 만족할 때만 코드 블록이 실행되도록 제어하는 문법입니다. 프로그램 흐름을 참, 거짓 조건에 따라 여러 갈래로 나뉘어 실행하며, 자바에서 조건문으로 가장 많이 사용되는 구조는 if, if-else, switch입니다.if문 - 조건식이 참일 때 코드 블록을 실행if ( 조건식 ) { 실행 코드 } else if ( 조건식 ) { 실행코드 } else {위의 조건식이 모두 거짓일 때 실행}int num1 = 1;int num2 =..

Java 2025.01.04

[DART] 클래스와 인스턴스

프로그래밍에서 클래스와 인스턴스는 객체 지향 프로그래밍(OOP)의 가장 기본적인 개념입니다.이번 포스팅에서는 클래스와 인스턴스의 정의, 객체 지향 프로그래밍의 개념, 그리고 Dart에서 이를 활용하는 방법에 대해 알아보겠습니다. 객체 지향 프로그래밍(OOP)이란?객체와 객체간에 관계를 형성하고, 그 상호작용을 통해애플리케이션을 설계, 구현하는 프로그래밍 패러다임 중 하나 입니다.OOP의 주요 목적은 복잡한 문제를 더 작은 객체로 나누어 해결하는 데 있습니다.각각의 객체는 자신의 역할에 충실하며, 서로 협력해 문제를 해결합니다. 더보기OOP의 4가지 주요 특징캡슐화: 데이터를 숨기고, 필요한 메서드만 외부에 제공.상속: 기존 클래스를 기반으로 새로운 클래스를 정의.다형성: 동일한 메서드 이름이 다양한 동작..

Flutter/Dart 2025.01.03

[DART] 익명함수와 화살표함수

프로그래밍에서 함수는 작업을 캡슐화하고 재사용할 수 있도록 도와주는 중요한 도구입니다.Dart에서는 익명 함수와 화살표 함수(람다 표현식)를 사용하여 더 간결하고 유연한 코드를 작성할 수 있습니다. 이번 글에서는 익명 함수와 화살표 함수의 개념과 활용 예제를 알아보겠습니다. 1. 익명함수 (Anonymous Function)익명 함수는 이름이 없는 함수로, 특정 작업을 수행하기 위해 임시로 정의되는 함수입니다. Dart에서 익명 함수는 변수에 할당하거나, 다른 함수의 인자로 넘길 때 유용하게 사용됩니다. 아래에 익명 함수의 문법 모양을 보여드릴게요.(매개변수){ // 수행 구문 }💻 실습하기// 익명 함수void main() { // 1단계 - 이름이 없는 함수(선언을 하더라도 외부에서 사용할 방법이..

Flutter/Dart 2025.01.03

[네트워크] HTTP 메시지란?

HTTP 메시지는 웹 클라이언트와 서버 간의 통신을 위해 사용되는 데이터의 형식입니다.클라이언트가 서버로 전송하는 HTTP 요청(Request)서버가 클라이언트로 반환하는 HTTP 응답(Response)HTTP 메시지에는 클라이언트가 전송하는 HTTP 요청, 그리고 서버가 반환하는 HTTP 응답이 있습니다. 기능과 세부 구조에서는 차이가 있지만, 크게 보면 이들은 HTTP 헤드와 바디로 구성된다는 공통점이 있습니다.(1) HTTP 헤드(Head)시작 줄(Start-line): 헤드의 첫 줄로, 요청이나 응답의 기본 정보를 담고 있습니다.요청(Request)의 경우: HTTP 메서드, 요청 URI, HTTP 버전.응답(Response)의 경우: HTTP 상태 코드, 상태 메시지, HTTP 버전.헤더(Hea..

네트워크 2025.01.03