Back-end/Java (89) 썸네일형 리스트형 [Java - 기본] 객체 지향 프로그래밍 ✅ 객체 지향 프로그래밍 데이터와 기능을 하나로 묶어서 음악 플레이어라는 개념을 온전히 하나의 클래스에 담아보자. 음악 플레이어라는 개념을 객체로 온전히 만드는 것이 중요하다. 그러기 위해서는 프로그램의 실행 순서 보다는 음악 플레이어 클래스를 만드는 것 자체에 집중해야 한다. 음악 플레이어가 어떤 속성(데이터)을 가지고 어떤 기능(메서드)을 제공하는지 이 부분에 초점을 맞추어야 한다. ✅ 객체 지향 음악 플레이어 음악 플레이어 속성 : volume, isOn 기능 : on(), off(), volumeUp(), volumeDown(), showStatus() ✏️ MusicPlayer package oop1; public class MusicPlayer { int volume = 0; boolean i.. [Java - 기본] 클래스와 메서드 ✅ 클래스와 메서드 클래스는 데이터인 멤버 변수 뿐 아니라 기능 역할을 하는 메서드도 포함할 수 있다. 1️⃣ 멤버 변수만 존재하는 클래스 ✏️ ValueData package oop1; public class ValueData { int value; } ✏️ ValueDataMain package oop1; public class ValueDataMain { public static void main(String[] args) { ValueData valueData = new ValueData(); add(valueData); add(valueData); add(valueData); System.out.println("최종 숫자 = " + valueData.value); } static void add.. [Java - 기본] 절차 지향 프로그래밍3 - 메서드 추출 이전 코드를 보면 다음과 같이 중복되는 부분들이 있다. // 볼륨 증가 data.volume++; System.out.println("음악 플레이어 볼륨: " + data.volume); // 볼륨 증가 data.volume++; System.out.println("음악 플레이어 볼륨: " + data.volume); 그리고 각각의 기능들은 이후에 재사용 될 가능성이 높다. 음악 플레이어 켜기, 끄기 볼륨 증가, 감소 음악 플레이어 상태 출력 ✅ 절차 지향 음악 플레이어3 - 메서드 추출 ✏️ MusicPlayerMain3 package oop1; public class MusicPlayerMain3 { public static void main(String[] args) { MusicPlayerData.. [Java - 기본] 절차 지향 프로그래밍2 - 데이터 묶음 ✅ 절차 지향 음악 플레이어2 - 데이터 묶음 MusicPlayerData라는 클래스를 만들고, 음악 플레이어에 사용되는 데이터들을 여기에 묶어서 멤버 변수로 사용하자. ✏️ MusicPlayerData package oop1; public class MusicPlayerData { int volume = 0; boolean isOn = false; } 음악 플레이어에 사용되는 volume, isOn 속성을 MusicPlayerData의 멤버 변수에 포함했다. ✏️ MusicPlayerMain2 package oop1; public class MusicPlayerMain2 { public static void main(String[] args) { MusicPlayerData data = new Musi.. [Java - 기본] 절차 지향 프로그래밍1 - 시작 ✅ 절차 지향 프로그래밍 vs 객체 지향 프로그래밍 ✏️ 절차 지향 프로그래밍 절차 지향 프로그래밍은 이름 그대로 절차를 지향한다. 쉽게 이야기해서 실행 순서를 중요하게 생각하는 방식이다. 절차 지향 프로그래밍은 프로그램의 흐름을 순차적으로 따르며 처리하는 방식이다. 즉 “어떻게”를 중심으로 프로그래밍 한다. ✏️ 객체 지향 프로그래밍 객체 지향 프로그래밍은 이름 그대로 객체를 지향한다. 쉽게 이야기해서 객체를 중요하게 생각하는 방식이다. 객체 지향 프로그래밍은 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식이다. 즉, “무엇을” 중심으로 프로그래밍 한다. ✏️ 차이 절차 지향은 데이터와 해당 데이터에 대한 처리 방식이 분리되어 있다. 반면 객체 지향.. [Java - 기본] Section2 - 정리 ✅ 대원칙 : 자바는 항상 변수의 값을 복사해서 대입한다. 자바에서 변수에 값을 대입하는 것은 변수에 들어 있는 값을 복사해서 대입하는 것이다. 기본형, 참조형 모두 항상 변수에 있는 값을 복사해서 대입한다. 기본형이면 변수에 들어 있는 실제 사용하는 값을 복사해서 대입하고, 참조형이면 변수에 들어 있는 참조값을 복사해서 대입한다. 기본형이든 참조형이든 변수의 값을 대입하는 방식은 같다. 하지만 기본형과 참조형에 따라 동작하는 방식이 달라진다. ✅ 기본형 vs 참조형 - 기본 자바의 데이터 타입을 가장 크게 보면 기본형과 참조형으로 나눌 수 있다. 기본형을 제외한 나머지 변수는 모두 참조형이다. 클래스와 배열을 다루는 변수는, 참조형이다. 기본형 변수는 값을 직접 저장하지만, 참조형 변수는 참조(주소)를.. [Java - 기본] Section2 - 문제와 풀이 ✅ 상품 주문 시스템 개발 - 리팩토링 🔔 문제 설명 앞서 만들었던 다음 클래스에 있는 “상품 주문 시스템”을 리팩토링 하자. class1.ex.ProductOrderMain 당신은 온라인 상점의 주문 관리 시스템을 만들려고 한다. 먼저, 상품 주문 정보를 담을 수 있는 ProductOrder 클래스를 만들어보자. 🔔 요구 사항 ProductOrder 클래스는 다음과 같은 멤버 변수를 포함해야 한다. 상품명 (productName) 가격 (price) 주문 수량 (quantity) ✏️ 예시 코드 구조 package ref.ex; public class ProductOrder { String productName; int price; int quantity; } 다음으로 ref.ex.ProductOrde.. [Java - 기본] NullPointException ✅ NullPointerException 참조값 없이 객체를 찾아가면 NullPointerException이라는 예외가 발생한다. NullPointerException은 이름 그대로 null을 가리키다(Pointer)인데, 이때 발생하는 예외(Exception)다. null은 없다는 뜻이므로 결국 주소가 없는 곳을 찾아갈 때 발생하는 예외이다. 객체를 참조할 때는 .(dot)을 사용한다. 이렇게 하면 참조값을 사용해서 해당 객체를 찾아갈 수 있다. 그런데 참조값이 null이라면 값이 없다는 뜻이므로, 찾아갈 수 있는 객체(인스턴스)가 없다. NullPointerException은 이처럼 null에 .(dot)을 찍었을 때 발생한다. ✏️ NullMain2 package ref; public class N.. 이전 1 ··· 6 7 8 9 10 11 12 다음