728x90
728x90
자바를 공부하면서 가장 어려웠던 게 소켓 통신이었습니다... 대학교 수업 때에서도 과제로 나왔는데 확실히 알겠다!는 아니겠더라구요,, 머리가 안돌아가서 그런지,, 아무튼 소켓이 또 많이 중요하죠! 그래서 정리하겠습니다.. 소켓(Socket) 통신이란? 자바에서 소켓 통신은 두 컴퓨터 간의 네트워크 통신을 가능하게 하는 기술입니다. 소켓은 한 컴퓨터에서 다른 컴퓨터로 데이터를 전송하는 통신 엔드포인트를 나타냅니다 자바의 java.net 패키지는 소켓 프로그래밍을 지원하며, TCP/IP 프로토콜을 기반으로 동작합니다. 소켓 통신은 보통 지속적으로 연결을 유지하면서 실시간으로 데이터를 주고받아야하는 경우에는 사용됩니다. 소켓은 클라이언트 소켓과 서버 소켓으로 구분되며, 소켓 간 통신을 위해서는 네트워크 상에서..
JVM이란? JVM (Java Virtual Machine)은 자바 바이트 코드(.class 파일 형태의 중간 코드)를 실행하기 위한 가상 머신입니다. JVM의 구조 JVM의 구조는 크게 3가지 컴포넌트로 나뉩니다. 클래스 로더, 런타임 데이터 영역, 실행 엔진으로 나뉘어집니다. 클래스 로더 클래스 로더는 JVM이 시작될 때 필요한 .class 파일들을 메모리에 로드하는 역할을 합니다. Loading, Linking, Initializtion 세단계로 이루어집니다. Loading : .class 파일들을 바이트 코드로 읽어와 메모리에 적재합니다. Linking : 검증, 준비, 해석 등의 과정을 통해 바이트 코드가 올바른지 확인하고 정적 변수에 메모리를 할당합니다. Initialization : 모든 정..
💡 Lambda란? 자바의 람다 표현식(Lambda Expression)은 Java 8부터 도입된 기능으로, 간단하게 메소드를 정의하고 전달 할 수 있는 방법입니다. 람다 표현식은 주로 함수형 인터페이스(Functional Interface)의 인스턴스를 생성할 떄 사용됩니다. 함수형 인터페이스는 메소드가 하나만 정의된 인터페이스를 의미합니다. 불필요한 코드를 줄이고 가독성을 향상시키는 것을 목적으로 두고 있습니다. 📌 Lambda의 특징 1. 익명성 람다식은 이름이 없는 함수입니다. 따라서 일회용 함수를 만드는 데 유용합니다. 2. 함수형 인터페이스 람다식은 함수형 인터페이스에 사용됩니다. 함수형 인터페이스는 하나의 추상메소드를 가진 인터페이스를 말합니다. 3. 표현의 간결성 람다식을 사용하면, 코드의..
백엔드 개발자 로드맵에서 처음 보는 Enum을 보고 공부가 필요함을 느꼈답니다... 💡 Enum이란? 자바의 Enum은 열겨형(Enumerated type)을 정의하는 특별한 클래스 타입입니다. Enum은 주로 사전에 정의된 상수 집합을 표현할 때 사용되며, 각 상수는 enum 타입의 객체입니다. 📌 Enum의 정의 및 사용 방법 enum 열거이름 { 상수1, 상수2, 상수3, ---}; //ex) enum Rainbow { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET } enum 열거 이름 { 상수값 ... } 위와 같이 사용하면서 정의하면 됩니다. ✒️ 문법 열거이름.상수이름 // ex) Rainbow.BLUE ☘️ values() values() 메소드는 ..
자바 스프링 부트 공부하면서 어노테이션(@)을 많이 봤는데 공부를 먼저 해야할 것 같습니다 어노테이션(Annotation)이란? 어노테이션(Annotation)이란 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종입니다. 어노테이션은 클래스, 메소드, 변수 등에 달아 특정 동작을 유도하거나, 정보를 제공하는 역할을 합니다. 어노텡션은 @ 기호로 시작하며, 예를 들어 가장 자주 사용되는 내장 어노테이션인 @Override는 메소드가 상위 클래스의 메소드를 오버라이드 함을 명시합니다. @Override public String toString(){ return "This is a string"; } 어노테이션(Annotation)의 종류 1. 마커(Marker) 어노테이션 이들은 아무런 매개변수를..
제네릭(Generic)이란? 제네릭이란 클래스나 인터페이스, 메소드를 정의할 때 타입을 파라미터로 활용할 수 있게 하는 프로그래밍 기법입니다. 제네릭을 사용하면 재사용성이 높아지고, 타입 안정성이 향상되며, 명시적인 타입 변환(casting)을 줄일 수 있습니다. 즉 Generic을 사용하기 전에는 처음부터 타입을 정해줘서 변수를 생성합니다. 하지만 재사용성을 높히기 위해 type을 지정해주지 않고 변수를 사용할 때 type을 정할 수 있도록 합니다. 제네릭 타입 타입 설명 Type Element Key Value Number 출처 : https://st-lab.tistory.com/153 원래 다른 값을 넣어두 되긴 하는데 위 표와 같이 압묵적인 규칙이라구 하네요! 제네릭 사용 방법 접근 지정자 cla..