분류 전체보기 80

Java로 배우는 객체 지향 프로그래밍 - 추상 클래스와 상속

안녕하세요! 😊 오늘은 Java에서 추상 클래스(abstract class)와 상속을 활용하는 방법을 알아볼게요. 추상 클래스는 객체 지향 프로그래밍에서 굉장히 중요한 개념이에요. 예제 코드를 통해 쉽게 이해할 수 있도록 설명할 테니 함께 따라와 보세요! 1. 추상 클래스란?추상 클래스는 자신이 직접 객체화될 수 없고, 오직 상속을 통해서만 사용할 수 있는 클래스예요. 즉, 부모 역할만 하는 클래스라고 보면 돼요.추상 클래스에는 추상 메서드가 포함될 수 있어요. 추상 메서드는 구현(몸통)이 없는 메서드로, 자식 클래스에서 반드시 구현해야 해요.추상 클래스는 "이런 기능이 꼭 필요해!"라고 정의해 두고, 실제 구현은 자식 클래스에서 맡기는 개념이에요. 2. 추상 클래스 Shape 만들기먼저, 도형을 표현..

개발/JAVA 2025.02.07

Java 객체지향 프로그래밍 - Point 클래스와 상속 개념 배우기

Java에서 객체지향 프로그래밍(OOP)의 핵심 개념인 클래스, 생성자, 메서드 오버로딩, 상속을 이해하기 위해 Point 클래스를 만들어보고, 이를 확장한 ColorPoint 클래스를 구현해보겠습니다. Java를 처음 배우는 분들도 이해하기 쉽게 하나씩 설명해드릴게요! 😊1. 기본적인 Point 클래스 구현 (v1)먼저, 기본적인 Point 클래스를 만들어 보겠습니다. 이 클래스는 x와 y 좌표를 가지며, 점을 출력하는 기능을 합니다.🔹 Point 클래스 (v1)package com.javaex.oop.point.v1;public class Point { // 필드 (멤버 변수) private int x; private int y; // 기본 생성자 public Point..

개발/JAVA 2025.02.06

Java 객체 지향 프로그래밍 - Point 클래스 만들기

1. 개요이번 포스팅에서는 Java의 객체 지향 프로그래밍(OOP) 개념을 익히기 위해 Point 클래스를 만들어보겠습니다. 이 클래스는 좌표 (x, y)를 저장하고, 해당 점을 화면에 출력하는 기능을 합니다. 또한, 캡슐화(Encapsulation) 와 생성자(Constructor) 개념을 적용하여 더욱 깔끔하고 확장 가능한 코드를 작성해 보겠습니다.2. Point 클래스 - 버전 1 (기본적인 구조)먼저, 가장 기본적인 Point 클래스를 만들어 보겠습니다.Point 클래스 (v1)package com.javaex.oop.point.v1;public class Point { // 필드 (은닉) private int x; private int y; // Getter & Setter..

개발/JAVA 2025.02.05

Java 객체지향 프로그래밍 - 상속(Inheritance) 개념 이해하기

1. 상속(Inheritance)이란?자바(Java)에서 상속(Inheritance) 이란 기존 클래스(부모 클래스, 슈퍼 클래스)의 기능을 그대로 물려받고, 추가적인 기능을 확장할 수 있는 개념입니다. 상속을 활용하면 코드의 재사용성을 높이고 유지보수를 쉽게 할 수 있습니다.예를 들어, 사람(Person)이라는 클래스가 있고, 학생(Student)이라는 클래스를 만들고 싶다고 가정해 봅시다. 학생도 사람의 특성을 가지므로, 사람(Person) 클래스를 상속받아 필요한 기능을 추가하면 됩니다. 2. 예제 코드로 배우는 상속1) 부모 클래스(Person) 만들기먼저, 사람(Person) 클래스를 정의해 보겠습니다.package com.javaex.oop.person;public class Person { ..

개발/JAVA 2025.02.04

Java 메서드 완벽 정리 - 기초부터 가변인수까지!

📌 메서드란?Java에서 메서드(Method) 는 특정 작업을 수행하는 코드 블록입니다. 메서드를 활용하면 코드를 모듈화하여 유지보수를 쉽게 하고, 중복을 줄일 수 있습니다.오늘은 Java의 메서드 개념과 다양한 형태를 쉽게 배워볼 수 있도록 예제와 함께 정리해보겠습니다! 🚀1️⃣ 메서드 기본 구조[접근제어자] [반환타입] 메서드명(매개변수) { // 수행할 작업 return 반환값; // 반환값이 있을 경우}✔️ 주요 개념접근제어자: public, private, protected 등의 키워드를 사용하여 메서드의 접근 범위를 결정합니다.반환타입: 메서드가 결과를 반환할 경우 그 데이터 타입을 지정합니다. (예: int, String, double 등)매개변수: 메서드가 실행될 때 필요한 ..

개발/JAVA 2025.02.03

스위스 여행의 낭만: 루체른, 리기산, 융프라우, 그리고 액티비티의 천국

스위스는 자연이 빚어낸 예술 작품 같은 풍경과 다양한 액티비티가 가득한 곳입니다. 여행자의 마음을 사로잡는 루체른부터, 알프스의 진주라 불리는 융프라우와 리기산, 짜릿한 액티비티들까지! 이 글에서는 여행 경험을 바탕으로 스위스의 매력적인 명소와 여행 팁을 소개합니다.루체른(Lucerne): 호수와 역사의 조화루체른은 스위스를 대표하는 아름다운 도시로, 호수와 알프스가 어우러진 풍경이 매력적입니다.1. 카펠교(Kapellbrücke)카펠교는 루체른의 랜드마크로, 유럽에서 가장 오래된 나무 다리 중 하나입니다. 다리 위에는 중세의 그림이 걸려 있어 역사의 흔적을 느낄 수 있어요. 특히 저녁 시간에 조명이 켜진 카펠교는 정말 그림 같은 장면을 연출합니다.2. 루체른 호수(Lake Lucerne)호수 주변을 걷..

해외여행 2025.02.02

오스트리아 여행기: 비엔나와 잘츠부르크에서 느낀 매력

오스트리아는 한 번쯤 꼭 가보고 싶은 여행지 중 하나였어요. 2017년에 다녀온 제 생애 첫 오스트리아 여행! 지금도 그때 찍었던 사진과 영상을 보면 설렘이 떠오릅니다. 도시마다 다른 매력, 풍경, 그리고 잊지 못할 경험들이 너무 많았어요. 오늘은 비엔나와 잘츠부르크의 추억을 나누면서, 비엔나 여행 시 꼭 가봐야 할 추천 장소들도 소개해 보려고 합니다.      비엔나: 유럽 감성이 가득한 도시오스트리아의 수도 비엔나는 도시 전체가 하나의 예술 작품 같았어요. 거리마다 웅장한 건축물들이 눈길을 사로잡았고, 한국과는 확연히 다른 분위기가 정말 인상적이었답니다. 날씨는 조금 더웠지만 그조차도 즐거웠던 순간들이었어요.비엔나에서의 경험첫 호텔 숙소: 비엔나에서의 첫날은 호텔 숙소에서 시작되었어요. 짐을 풀고 거..

해외여행 2025.02.01

자바의 this와 생성자 활용: 상품 관리 프로그램 심화 학습

이번 글에서는 자바의 this 키워드와 생성자 활용법을 배워 보겠습니다. 클래스의 설계도를 개선하고, 코드를 더 간결하게 작성하는 방법을 알아봅니다. 이를 위해, 상품 정보를 관리하는 프로그램을 개선하여 작성합니다.1. this란 무엇인가?this는 현재 객체를 참조하는 특별한 키워드입니다.필드와 매개변수 구분: 메서드나 생성자의 매개변수 이름이 필드와 동일할 때, this를 사용하여 필드를 명확히 구분합니다.생성자 호출: 하나의 생성자에서 다른 생성자를 호출할 때 this()를 사용합니다. 2. 프로그램 설계: Goods 클래스Goods 클래스는 상품 정보를 저장하는 클래스입니다.기존 버전에서는 모든 필드를 초기화하기 위해 일일이 값을 설정해야 했습니다. 이번에는 생성자와 this를 활용해 더 간결하고..

개발/JAVA 2025.01.31

Java에서 객체와 클래스 기본 이해하기: 간단한 상품 관리 예제

Java를 처음 배우는 분들을 위해 클래스와 객체의 개념을 쉽게 이해할 수 있도록 간단한 예제를 준비했습니다. 이번 글에서는 상품 정보 관리 프로그램을 만들어 보면서 클래스와 객체를 배우고, 이를 활용해 데이터를 출력하는 방법을 알아보겠습니다.1. 클래스(Class)란?클래스는 객체를 생성하기 위한 설계도입니다. 클래스 안에는 객체가 가질 속성(필드)과 행동(메서드)을 정의합니다.클래스를 사용하면 동일한 구조를 가진 여러 객체를 쉽게 생성할 수 있습니다. 2. 간단한 Goods 클래스 만들기상품 정보를 저장하는 클래스 Goods를 만들어 보겠습니다. 이 클래스에는 상품명(name)과 가격(price)을 저장할 필드(Field)를 정의합니다.Goods.javapackage com.javaex.oop.goo..

개발/JAVA 2025.01.30

Java에서 상속과 업캐스팅/다운캐스팅 배우기

Java에서 객체지향 프로그래밍(Object-Oriented Programming)의 중요한 개념 중 하나는 상속(Inheritance)입니다. 상속을 활용하면 부모 클래스의 기능을 자식 클래스에서 재사용하거나 확장할 수 있습니다. 오늘은 이를 기반으로 업캐스팅(Upcasting)과 다운캐스팅(Downcasting)을 이해하는 간단한 예제를 알아보겠습니다.1. 상속(Inheritance)이란?상속은 부모 클래스의 필드와 메서드를 자식 클래스가 물려받는 기능입니다. 이를 통해 코드의 재사용성을 높이고, 객체들 간의 관계를 명확히 정의할 수 있습니다.예제: 기본 클래스 Animalpackage com.javaex.oop.casting;public class Animal { // 필드 protect..

개발/JAVA 2025.01.29