객체지향 프로그래밍이란?
Computer Science/프로그래밍 이론 💬2024. 2. 2. 18:32객체지향 프로그래밍이란?

오늘은 객체지향 프로그래밍(Object-Oriented Programming, OOP) 을 자바 관점에서 빠르고 명확하게 이해하는 시간을 가져보도록 할게요!이 글을 읽고 나면 다음 내용을 알게 될 거에요!객체와 클래스의 차이를 자신의 언어로 정리할 수 있다.OOP의 핵심 개념(추상화, 캡슐화, 상속, 다형성)을 예제 코드와 함께 이해한다.SOLID 원칙을 실제 코드 구조에 어떻게 적용할지 감을 잡는다.“클래스 중심”과 “객체 중심”이라는 표현의 차이를 명확히 구분한다. 객체 vs 클래스 — 왜 헷갈릴까?객체와 클래스를 정의해보면 다음과 같아요클래스(Class): 객체를 만들기 위한 설계도(틀) 로, 필드와 메서드를 정의한다.객체(Object, 인스턴스): 클래스로부터 생성된 실제 실체로, 메모리에 존재하..

자료구조에 대해 알아보자
Computer Science/자료구조 💽2024. 2. 2. 00:10자료구조에 대해 알아보자

자료구조란 데이터를 저장하고 효율적으로 활용하기 위한 구조를 말합니다.우리가 사용하는 변수, 배열, 리스트, 맵 등은 모두 자료구조의 한 형태입니다. 오늘은 다음 두 가지 질문을 중심으로 함께 학습해보겠습니다.자료구조는 왜 중요할까?올바른 자료구조 선택은 프로그램에 어떤 영향을 미칠까?이 내용을 쉽고 재미있게 이해하기 위해,잘 알려진 동화 〈여우와 두루미〉 이야기를 빗대어 함께 학습해보겠습니다. 🦊🪶 자료구조의 핵심 개념자료구조는 데이터를 어떤 형태로 저장하고, 어떻게 꺼내 쓸지를 결정하는 방법입니다.즉, 데이터를 다루는 저장 방식과 접근 방식을 설계하는 일이라고 할 수 있습니다. 📦 예를 들어,변수 하나에 단일 값을 저장할 수도 있고,여러 데이터를 효율적으로 관리하기 위해 배열(Array)이나 리..

Double과 Float를 사용하면 안되는 이유
Language/Java ☕️2024. 2. 1. 23:41Double과 Float를 사용하면 안되는 이유

자바에서 소수(실수)를 표현할 때는 보통 float이나 double을 사용합니다.하지만 강의나 실무에서 이런 말을 자주 듣게 됩니다. double과 float 대신 BigDecimal을 사용하세요!이 말은 단순한 습관이나 규칙이 아니라, 부동소수점 연산의 정확도 문제라는 기술적인 이유가 있습니다.오늘은 다음과 같은 내용을 함께 알아볼게요.float, double에서 오차가 발생하는 이유부동소수점 표현 방식(IEEE 754 표준)의 한계BigDecimal이 이러한 문제를 어떻게 해결하는지각 자료형을 언제, 어떻게 사용해야 하는지 부동소수점 연산의 정확도 문제다음은 간단한 예제입니다.double a = 1.03;double b = 0.42;System.out.println(a - b);예상 결과는 0.61이..

JDK, JRE, JVM의 차이와 자바 실행 구조 이해하기
Language/Java ☕️2024. 2. 1. 20:10JDK, JRE, JVM의 차이와 자바 실행 구조 이해하기

오늘은 자바 프로그램의 실행 과정을 단계별로 살펴보며, 그 과정에서 JDK, JRE, JVM의 역할과 관계를 이해해보는 시간을 가져볼게요!이를 통해 자바의 핵심 특징인 플랫폼 독립성이 구현되는 원리를 함께 알아보겠습니다. 이 개념들을 이해하면 다음을 명확히 알 수 있을거에요!자바가 운영체제에 상관없이 동작할 수 있는 이유(플랫폼 독립성)자바 코드가 컴파일되고 실행되는 전체 과정JDK, JRE, JVM 각각의 기능과 역할 자바의 플랫폼 독립성컴퓨터는 기본적으로 0과 1, 즉 기계어만 이해합니다. 하지만 이 기계어는 운영체제(OS)마다 다르기 때문에, 같은 프로그램이라도 Windows, macOS, Linux에서 실행 방식이 달라집니다. 자바는 이러한 문제를 해결하여 한 번 작성하면 어디서나 실행된다(Wri..

image