Java/JAVA 2 - 객체지향 핵심

전화번호부에 저장된 연락처 정보 CRUD 기능 구현 요구 사항저장: 사용자가 이름과 전화번호를 입력하여 전화번호부에 저장할 수 있어야 합니다.조회: 전체 연락처 목록을 조회하거나, 특정 이름으로 연락처를 검색하여 조회할 수 있어야 합니다.수정: 기존 연락처의 전화번호를 변경할 수 있어야 합니다.삭제: 전화번호부에서 연락처를 삭제할 수 있어야 합니다.선택 조회 : 이름을 입력하면 해당 전화번호가 출력 되어야 합니다.Scanner 활용, 입력 받는 데이터 타입은 전부 String 으로 처리전화번호 저장은 100까지 한정. package basic.exercise;import java.util.Scanner;public class PhoneBookManager { static..
package basic.ch15;public class BookTest { public static void main(String[] args) { // 배열이란 = 연관된 데이터를 하나의 변수에 통으로 관리하고 싶다면 - 자료구조 // 배열을 사용할 때 반드시 크기가 지정되어야 한다. Book[] books = new Book[10]; // 배열에 메모리 공간 선언 books[0] = new Book("케인의 기록", "데커드 케인"); books[1] = new Book("티리엘의 기록", "티리엘"); books[2] = new Book("아드리아의 기록", "아드리아"); books[3] = new Book("디아블로 1", "크리스 멧젠");..
💡 학습 목표1. 자료 구조에 대한 개념을 알아 보자. 2. 배열에 대한 기본 개념을 알아 보자. 3. 배열에 길이와 인덱스의 길이. 4. 배열에 길이와 요소(elements) 1. 자료 구조에 대한 개념을 알아보자. 자료 구조는 데이터를 어 떻게 조직화하고 저장하며 접근할지를 결정하는 방법입니다. 자료 구조의 특징:효율성: 데이터를 효율적으로 저장, 검색, 삽입, 삭제할 수 있어야 합니다.추상화: 데이터의 논리적인 구조와 물리적인 구현을 분리하여 추상적으로 정의해야 합니다.재사용성: 여러 응용 프로그램에서 재사용할 수 있도록 일반적이고 유연한 구조여야 합니다.자주 사용되는 자료 구조:배열(Array): 동일한 데이터 타입의 요소들을 연속된 메모리 공간에 저장하는..
💡 학습 목표static 메소드의 개념을 알자.Method Area 와 heap 영역에 실행 시점의 이해 static 메서드(함수)는 특정 클래스의 인스턴스에 속하지 않고 클래스 자체에 속합니다. 따라서 객체를 생성하지 않고도 클래스 이름을 통해 직접적으로 호출할 수 있습니다. static 메서드는 클래스의 모든 인스턴스가 공유하며, 주로 유틸리티 기능이나 공통 동작을 제공하는 데 사용됩니다.  주요 특징 정리객체 생성 없이 호출 가능인스턴스 변수에 접근 불가static 메서드는 객체의 인스턴스 변수에 직접적으로 접근할 수 없습니다. 왜냐하면 static 메서드는 객체가 생성되기 전에 호출될 수 있기 때문에 해당 객체의 상태를 알 수 없기 때문입니다. 시나리오..
💡 학습 목표static 변수에 대한 개념을 이해하자. static 변수는 프로그래밍에서 중요한 개념 중 하나입니다. 클래스 변수라고도 불리며, 클래스의 모든 인스턴스가 공유하는 변수입니다. 즉, 객체가 동일한 static 변수의 값을 공유합니다. ex) 우리는 모두 하나의 태양을 공유한다. 우리가 태어나기 전에 하나의 태양이 존재하기 때문이다. 왜 클래스 변수라고 불리는 걸까?우리가 자바 프로그램을 실행을 하면 프로그램을 수행하기 위해 운영체제로부터 할당받는 메모리들이 존재 합니다. 그 특성에 따라 영역등이 존재 하는데 그 구성요소들은 아래와 같습니다. 메모리 영역(JVM Memory, Runtime Data Area)package basic.ch12;publ..
💡 학습 목표여기 까지 배웠던 부분에 핵심 개념들을 활용해 봅시다. package starcraft.ver01;public class Zealot { private String name; private int power; private int hp; public Zealot(String name) { this.name = name; power = 5; hp = 80; } // getter public String getName() { return name; } public int getPower() { return power; } public int getHp() { return hp; } // 질럿이 저글링을 공격합니다. pu..
💡 학습 목표this 3가지 사용 방법을 알자this 란인스턴스(객체) 자신의 메모리를 가리킨다.생성자에서 또 다른 생성자를 호출할 때 사용할 수 있다.자신의 주소(참조값, 주소값) 를 반환 시킬 수 있다. package basic.ch11;public class Person { // this의 3가지 사용방법 // 1. this는 자기 자신을 가리킨다(인스턴스의 주소) // 2. 생성자에 다른 생성자를 호출할 때 사용할 수 있다. // 3. 자신의 주소(참조값, 주소값)을 반환 시킬 수 있다. // 변수 --> private private String name; private int age; private String phone; private Stri..
💡 학습 목표접근 제어 지시자란?접근 제어 지시자에 종류를 알아 보자. 1. 접근 제어 지시자란?클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 2. 접근 제어 지시자에 종류를 알아 보자.public —> 어디에서든 접근 가능 함.default —> 같은 패키지 내에서 접근 가능protected ← 상속 배운 이후private —> 해당 .java 안에서만 접근이 가능하다.시나리오 코드 1package basic.ch10;// 은행public class Bank { // 아무것도 지정하지 않으면 default 제어 지시자이다. // private 클래스 안에서만 사용이 가능하다. String nam..
💡 학습 목표객체지향 패러다임이란 뭘까?객체와 객체간에 상호작용 만들어 보기 1. 객체지향 패러다임이란 뭘까?객체지향 패러다임(Object-Oriented Paradigm)은 소프트웨어를 설계하고 구현하는 방법론 중 하나로, 실세계의 객체를 모델링하여 소프트웨어의 복잡성을 관리하고 코드의 재사용성을 높이는 데 중점을 둡니다. 이 패러다임의 핵심은 프로그램을 상호작용하는 객체들의 집합으로 보고, 각 객체는 자신의 데이터와 행위를 갖는 독립적인 엔티티로 취급하는 것입니다.💡 "엔티티(Entity)"는 특정 속성과 행동을 가진 독립적인 단위 또는 객체를 의미합니다.  객체지향 패러다임의 주요 원칙 캡슐화(Encapsulation): 객체는 데이터(변수)와 그 데..
💡 학습 목표기본 생성자에 대해 알아보자.사용자 정의 생성자에 대해 알아보자.생성자 오버로딩이란 뭘까? 1. 기본 생성자에 대해 알아보자.생성자(Constructor)는 클래스의 인스턴스, 즉 객체를 생성할 때 호출되는 특별한 유형의 메서드입니다. 객체의 초기화를 담당하며, 객체가 올바르게 사용될 수 있도록 필요한 값들을 설정하고, 필요한 초기화 코드를 실행합니다. 생성자의 주요 특징생성자의 이름은 클래스의 이름과 동일해야 합니다.생성자는 반환 타입을 가지지 않으며, 심지어 void 도 사용하지 않습니다.객체 생성 시 new 키워드와 함께 자동으로 호출됩니다.생성자는 기본 생성자와 사용자 정의 생성자로 구분할 수 있습니다. 기본 생성자 (default cons..
CNOW
'Java/JAVA 2 - 객체지향 핵심' 카테고리의 글 목록 (2 Page)