Java/JAVA 2 - 객체지향 핵심

package basic.exercise.interfaces;public interface IUserInfoDao { // C R U D // public abstract 생략 가능 // TODO - 매개변수 수정 예정 public abstract void insertUserInfo(String name, int age, String nickeName ); public abstract void updateUserInfo(); public abstract void deleteUserInfo(); public abstract void selectUserInfo();} package basic.exercise.interfaces;public class UserInfo { public static in..
💡 학습 목표인터페이스를 통한 동물 경주 게임 설계 해보기RaceParticipant 와 Turtle에 관계는?연극에 로미오라는 역할 그리고 배우1과 배우2 1. 인터페이스를 통한 동물 경주 게임 설계 해보기여기에 거북이, 토끼 클래스가 존재합니다. 어느 날 둘이 경주 게임에 참가하자고 합의를 하였습니다. 단, 참가를 하기 위해서는 본인에 이름과 경주 속도를 알려주는 장치를 달아야 중개가(일종에 스펙) 가능하다고 합니다. 이 상황을 코드로 작성해 봅시다. package basic.ch22;public interface RaceParticipant { String getName(); int getSpeed(); } package basic.ch22;public class Turtle implements..
💡 학습 목표인터페이스에 개념을 이해하자.인터페이스와 추상클래스를 사용해서 코드 작성해보기  1. 인터페이스에 개념을 이해하자.모든 메서드가 추상 메서드로 선언됨 public abstract모든 변수는 상수로 선언됨 public static finalpackage basic.ch22;interface Animal { // 추상 메서드만 선언 가능 // public abstract void eat(); // public abstract void move(); // 축약 가능 void eat(); void move();}// implements - 구현하다 class Dog implements Animal { @Override public void eat() { System.out.println("..
💡 학습 목표추상 클래스란 뭘까?추상 클래스 구현해 보기 1. 추상 클래스란 뭘까?추상 클래스(Abstract Class)는 하나 이상의 추상 메서드를 포함하고 있는 클래스입니다. 추상 메서드는 구현이 없는(메서드 몸체가 없는) 메서드이며, 추상 클래스 내에서는 이러한 추상 메서드의 정의만을 포함하고 있습니다.추상 클래스는 직접적으로 객체를 생성할 수 없으며, 다른 클래스에서 상속받아 구현되어야 합니다. 추상 메서드란? int add(int x, int y); // 선언 int add(int x, int y){ } // 구현부가 있음, 추상 메서드 아님 시나리오 코드 1 package basic.ch21;/** * 추상 클래스란? * 추상 메서드를 포..
논리적으로 작업 순서 생각하기클래스들을 설계 자신만에 기능, 속성 정의다형성 적용(상속) 공통 속성 및 기능 묶기기능 만들어 주기 요구 조건 : instanceof 연산자 활용코드 테스트 실행 시나리오는 스스로 만들어 보기package basic.exercise.toy;// 클래스 - 인형뽑기// 상품들이 존재 가능 // 사자인형, 곰인형, 에어팟// 요구 조건 // 배열을 활용해서 객체들을 담아 주세요 public class ToyMachine { } package basic.exercise.toy;public class ToyMachineTest { // 코드 테스트 public static void main(String[] args) { ..
💡 학습 목표다형성에 대한 개념을 이해하자.업캐스팅과 다운캐스팅이란?다형성에 활용 1. 다형성에 대한 개념을 이해하자.다형성은 하나의 데이터 타입이 다양한 형태로 바라볼 수 있는 것다형성(Polymorphism)은 객체 지향 프로그래밍에서 중요한 개념 중 하나입니다. 이는 한 요소(예: 메서드, 클래스)가 여러 형태를 가질 수 있는 능력을 의미합니다. 다형성은 코드의 유연성과 재사용성을 높여주며, 상속, 추상화, 인터페이스와 함께 사용됩니다. 시나리오 코드 1  package basic.ch20;public class Animal { public void move () { System.out.println("동물이 움직입니다."); } public..
💡 학습 목표연관관계(Association) 이란?의존관계(Dependency) 에 대해 알아 보자. 연관관계(Association)와 포함관계(Composition)는 객체지향 프로그래밍에서 객체 간의 관계를 나타내는 두 가지 다른 개념입니다. 그러나 이 둘은 완전히 독립적인 개념이 아니며, 포함관계는 연관관계의 특수한 형태로 볼 수 있습니다. 즉, 모든 포함관계는 연관관계입니다만, 모든 연관관계가 포함관계인 것은 아닙니다. 연관 관계(Association)는 일반적으로 한 클래스의 객체가 다른 클래스의 객체와 상호작용을 하지만, 둘 사이의 생명주기에 대한 의존성은 갖지 않는 경우를 의미합니다. 예를 들어, 한 은행(Bank)과 여러 고객(Customer) 사이의 관계가 연..
💡 학습 목표포함 관계(Composition)에 대한 개념을 이해하자.포함관계(Composition) 사례 연구 package basic.ch18;public class Car { String name; int price; } package ex_18;public class Engine { String name; int price; }   1. 포함 관계(Composition)에 대한 개념을 이해하자. 자동차와 엔진에 관계를 상속으로 표현하면 맞는 개념일까?-> 포함 관계는 한 클래스가 다른 클래스를 포함하는 관계를 말합니다.자바에서 포함 관계(Composition)는 한 클래스가 다른 클래스를 자신의 필드(멤버변수)로서 포함하는 것을 말합..
💡 학습 목표상속에 대한 개념을 이해하자.오버라이드란 뭘까? 1. 상속에 대한 개념을 이해하자. 상속(Inheritance)은 객체 지향 프로그래밍에서 중요한 개념 중 하나입니다. 상속은 기존의 클래스를 확장하여 새로운 클래스를 정의하는 메커니즘을 말합니다. 상속을 통해 기존 클래스의 속성과 메서드를 재사용하고 확장하여 새로운 클래스를 만들 수 있습니다. 이를 위해 상속에서는 두 개의 클래스가 필요합니다:부모 클래스(Parent Class) 또는 슈퍼 클래스(Superclass): 기존에 정의된 클래스로, 상속의 대상이 되는 클래스입니다. 부모 클래스의 속성과 메서드를 자식 클래스에게 상속합니다.자식 클래스(Child Class) 또는 서브 클래스(Subclas..
💡 학습 목표메서드 오버로딩에 대한 개념을 이해하자. 1. 메서드 오버로딩에 대한 개념을 이해하자. 메서드 오버로딩(Overloading)은 같은 이름의 메서드를 여러 개 정의하는 것을 말합니다. 이때 메서드의 시그니처(signature), 즉 메서드 이름과 매개변수의 타입, 개수, 순서가 서로 달라야 합니다. 메서드 오버로딩을 사용하면 같은 기능을 하는 메서드들을 하나의 이름으로 통일할 수 있어 코드의 가독성을 높일 수 있습니다. package basic.ch16;/** * 메서드 오버로딩이란? * 같은 이름의 메서드를 여러개 * 정의하는 것을 말한다. */public class Calculator { // 덧겜 메서드 생성 public int add..
CNOW
'Java/JAVA 2 - 객체지향 핵심' 카테고리의 글 목록