Tiny Bunny
[CS] JAVA 면접 대비 ③ 자료구조, 네트워크, 객체지향 프로그래밍
·
CS 지식
Call by Value vs Call by Reference더보기Call by Value는 값을 직접 복사하여 전달. Call by Reference는 메모리 주소를 전달하여 원본 값 수정 가능.깊은 복사 vs 얕은 복사더보기얕은 복사는 객체의 참조값만 복사. 깊은 복사는 객체의 실제 데이터를 새로운 메모리에 복사.스택 vs 큐더보기스택은 LIFO (Last In First Out).   큐는 FIFO (First In First Out).스택 오버플로우더보기스택이 초과되어 데이터가 입력될 때 발생하는 오류.프로세스 vs 쓰레드더보기프로세스는 독립적인 실행 단위. 쓰레드는 프로세스 내에서 실행되는 작업 단위. 멀티 쓰레드더보기여러 개의 쓰레드가 병렬로 실행되는 환경. 인터페이스 vs Abstract C..
Java 배열과 메서드, 컬렉션: 프로그래밍 기초 이해하기
·
Java | Spring
프로그래밍 입문자들을 위해 배열(Array), 메서드(Method), 컬렉션(Collection) 등 중요한 개념들을 알아보려 합니다. 비유와 예시를 통해 개념을 쉽게 이해할 수 있도록 써보았습니다. 1. 배열(Array) 배열: 같은 데이터 타입의 값들을 연속된 메모리 공간에 저장하는 고정 크기 자료구조입니다. 💡 영화관 좌석을 생각해 봅시다.각 좌석에는 고유한 번호(인덱스)가 있고, 각 자리에 손님(데이터)이 앉습니다.배열은 "같은 타입의 데이터"(예: 나이, 점수)만 저장할 수 있어요.인덱스는 0부터 시작합니다.영화관 1번 좌석 → 배열의 0번 인덱스.5번 좌석 → 배열의 4번 인덱스.특징크기가 고정: 배열은 처음에 공간 크기를 정하면 나중에 변경할 수 없어요.빠른 데이터 접근: 인덱스를 사용해 ..
Flutter Day 8-1: 비동기 프로그래밍(Java vs Dart) 알아보기
·
Flutter
비동기 프로그래밍은 현대 애플리케이션 개발에서 매우 중요한 개념입니다. 서버 요청, 파일 처리 등 시간이 오래 걸리는 작업을 비동기로 처리하면 앱의 응답성을 유지할 수 있습니다. 이번 포스팅에서는 Java와 Dart에서 비동기 프로그래밍의 차이점과 중요한 개념을 정리해 보겠습니다.1. 비동기 프로그래밍이란?동기(Synchronous): 코드가 순차적으로 실행되며, 한 작업이 끝날 때까지 다음 작업이 대기 - 단점: 오래 걸리는 작업이 있으면 전체 흐름이 멈춤(Blocking) 비동기(Asynchronous): 작업 완료 여부와 상관없이 다음 코드가 실행되고, 작업이 완료되면 결과를 처리.작업이 완료되면 콜백, Future, 또는 이벤트 루프를 통해 결과를 처리. - 장점: 효율적인 리소스 사용 및 빠른 ..
Java 객체지향 프로그래밍: 비유로 이해하는 기초 개념
·
Java | Spring
이번 포스팅에서는 객체지향 프로그래밍(Object-Oriented Programming, OOP)을 붕어빵 틀에 비유해서 쉽게 정리 하여 저와 같은 초보자 분들도 이해할 수 있도록 설명해보겠습니다. 1. 객체지향 프로그래밍(OOP) 🖥️ OOP는 프로그램을 객체(Object) 중심으로 개발하는 프로그래밍 기법입니다. 클래스(Class): 객체를 생성하기 위한 설계도.객체(Object): 속성과 동작을 가진 독립적인 개체. 필요성코드 재사용성: 같은 설계를 반복할 필요 없이 재활용 가능.유지보수성: 각 객체를 독립적으로 관리해 수정이 용이.확장성: 기존 코드를 변경하지 않고도 새로운 기능 추가 가능.소프트웨어 품질 향상: 코드 가독성과 설계 구조가 개선.🍞 이해 OOP를 현실 세계에 비유하면 붕어빵 틀..
Java 콜백 메서드 이해와 구현
·
Java | Spring
콜백 메서드콜백 메서드는 특정 작업이 완료되었을 때 호출되는 메서드입니다.예를 들어, "버튼이 눌리면 이 일을 해줘!"와 같이 이벤트와 함께 동작을 실행하는 방식을 말해요.콜백 메서드를 사용하면 코드를 재사용할 수 있고, 더 유연하게 설계할 수 있습니다.필요성이벤트 기반 동작: 버튼 클릭, 데이터 로드 완료 등 특정 이벤트가 발생했을 때 실행할 작업을 정의할 수 있어요.코드 재사용성: 한 번 만들어 놓으면 여러 상황에서 동일한 메서드를 재사용할 수 있습니다.유연성: 실행 동작을 나중에 정의하거나 변경할 수 있어요. 코드를 더 깔끔하고 확장성 있게 만듭니다.작동 원리콜백 메서드의 핵심은 인터페이스와 메서드 구현입니다.인터페이스로 메서드의 틀 정의: 어떤 작업을 할지 선언만 합니다.구현 클래스로 구체적인 동..
Java의 기본 문법: 변수와 자료형
·
Java | Spring
Java는 정적 타입을 사용하는 언어로, 변수의 타입을 미리 선언해야 합니다. 이번 포스팅에서는 Java의 변수, 기본 자료형, 그리고 String 타입과 래퍼 클래스에 대해 다룹니다. 특히 기본 자료형과 래퍼 클래스의 차이점과 왜 래퍼 클래스가 필요한지를 중점적으로 살펴보겠습니다.1. 변수란?변수는 데이터를 저장하기 위한 메모리 공간입니다. Java에서는 변수를 선언할 때 자료형을 명시해야 합니다.자료형 변수명 = 값; 예를 들어:int age = 25; // 정수형 변수 age 선언String name = "Alice"; // 문자열 변수 name 선언 2. 기본 자료형(Primitive Types)Java는 8개의 기본 자료형을 제공합니다. 각각의 자료형은 특정한 크기와 용도를 가지고 있습니다.자료..