[JAVA] 22-07-06 인터페이스를 활용한 차 만들기 예제 ☑
·
STUDY/JAVA
Car package sec05.exam01_field_polymorphism; public class Car { //필드값 //인스턴스만들어줌 //인스턴스인 Tire를 인터페이스 Trie로 구현된 HankookTire에 연결해줌 public Tire frontLeftTire = new HankookTire(); public Tire frontRightTire = new HankookTire(); //제한자 차이 Tire backLeftTire = new HankookTire(); Tire backRightTire = new HankookTire(); //브레이크추가 Number01_Brake num1 = new Number01_Brake(); Number02_Brake num2 = new Number0..
[JAVA] 22-06-20 자바 Overloading / Overriding ☑
·
STUDY/JAVA
생성자를 다양화 해야하는 이유 객체를 생성할 때 외부의 값으로 객체를 초기화 할 필요가 있다. 외부의 값이 어떤 타입으로 몇개가 제공될 지 모르기 때문에 생성자도 다양화해질 필요가 있다. 오버로딩(Overloading) 메서드의 이름은 같고 매개변수의 유형과 개수가 다르도록 하는 것을 의미합니다. - 리턴값만을 다르게 갖는 오버로딩은 작성 할 수 없습니다. 타입이 똑같고 개수가 똑같은 것은 생성자 오버로딩이 아니다. 오버로딩이 성립하기 위한 조건 1.메소드 이름이 같아야한다. 2.매개변수의 개수또는 타입이 달라야한다 3.반환 타입은 영향없다. //올바른 오버로딩 예시 //반환타입영향없음 //타입다름 long add(int a, long b) {return a+b;} long add(long a, ing ..
[JAVA] 인터페이스 ! 개념 이해 추가 정리 ☑
·
STUDY/JAVA
원본 링크 : https://limkydev.tistory.com/197 [JAVA] 자바 인터페이스란?(Interface)_이 글 하나로 박살내자 1. 인터페이스 개념과 역할 인터페이스....이 글하나로 박살내자. (회사에서 존댓말을 많이 쓰기때문에 여기서라도 반말로 글을 써보고 싶음 ㅎ) 인터페이스는 뭘까?? 결론부터 말하면, 극단적으 limkydev.tistory.com 1. 인터페이스 개념과 역할 인터페이스....이 글하나로 박살내자. (회사에서 존댓말을 많이 쓰기때문에 여기서라도 반말로 글을 써보고 싶음 ㅎ) 인터페이스는 뭘까?? 결론부터 말하면, 극단적으로 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것이 바로 인터페이스의 역할이자 개념이다. 조금 더 유식하게 말하면, 자바의 다형성을 ..
[JAVA] 22-07-01 인터페이스를 활용한 문제해결
·
STUDY/JAVA
1번문제 SmartTelevision을 자동채널변경시스템을 Searchable 인터페이스를 통해 구현하시오 ex) 10.20.25.120 채널이 있다. 일정값을 입력받으면 가까운번호의 채널로 자동 변경하는 시스템을 구축해라 package package001; //SmartTelevision의 부모 //[public] interface 인터페이스명{} public interface Searchable { //추상메소드 //타입 메소드명(매개변수); void search(String url); default void setChannel(int channel) { if (channel > 0 && channel = 15 && channe..
[JAVA] 22-07-01 인터페이스 ☑
·
STUDY/JAVA
인터페이스(INTERFACE) 인터페이스 - 객체의 사용방법을 정의한 타입 객체의 교환성을 높여주기 때문에 다형성을 구현하는 매우 중요한 역할을 함 인터페이스란? 극단적으로 동일한 목적 하에 동일한 기능을 보장하게 하기 위함! 어떻게? 자바의 다형성을 이용하여 개발코드 수정을 줄이고 유지보수성을 높인다! 인터페이스의 역할 인터페이스는 개발코드와 객체가 서로 통신하는 접점역할 개발코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출 → 개발코드는 객체의 내부 구조를 알 필요가 없고 인터페이스의 메소드만 알고있으면 된다 왜 중간에 인터페이스를 둘까? 개발코드를 수정하지 않고 사용하는 객체를 변경할 수 있도록 하기 위해서. 개발코드 측면에서는 코드 변경없이 실행내용과 리턴값을 다양화 할 수 ..
[JAVA] 22-06-30 추상클래스 ☑
·
STUDY/JAVA
추상(abstract) 실체간의 공통되는 특성을 추출한 것 추상 클래스 (abstract Class) - 미완성설계도. 미완성 메소드를 갖고있는 클래스 abstract class Player { //추상클래스 - 미완성클래스 abstract void play(int pos); //추상메소드 - 몸통{}이 없는 미완성메소드 abstract void stop(); //추상메소드 } - 다른클래스 작성에 도움을 주기 위한 것. 인스턴스 생성불가 player p = new player(); //에러 추상클래스의 인스턴스 생성불가 - 상속을 통해 추상메소드를 완성해야 인스턴스 생성가능 class AudioPlayer extends Player { void play(int pos) {...} //추상메소드구현 vo..
[JAVA] 22-06-29 다형성 형변환 ☑
·
STUDY/JAVA
다형성(polymorphism) 조상타입참조변수로 자손타입객체를 다루는것 다형성을 구현하는 기술 - 상속 또는 인터페이스의 자동타입변환 - 오버라이딩 다형성의 효과 - 다양한 실행결과를 얻을 수 있다. - 객체를 부품화 시킬 수 있어 유지보수가 용이하다. 인터페이스를 이용한 다형성 개념 interface I { void method1(); void method2(); } I i = new A(); I i = new B(); //I라는 인터페이스에 A라는 구현객체를 대입을 했다. //이때, A라는 객체가 문제가 있어서 B라는 객체로 바꿀 수있다. i.method1(); i.method2(); //처음에는 A라는 구현객체의 메소드지만, //B로 변경했을때, B의 구현객체의 메소드로 사용할 수 있다는 것 예를..
[JAVA] 22-06-28 상속을 이용해 샌드위치 만들기 문제 ☑
·
STUDY/JAVA
import java.util.ArrayList; import WeekSandwich.*; public class main { public static void main(String[] args) { MonSandwich Monsand = new MonSandwich("블루베리베이컨샌드위치", "월" ,"빵", "버터", "블루베리", "베이컨"); TueSandwich Tuesand = new TueSandwich("상추베이컨샌드위치", "화", "빵","버터","상추","베이컨"); WedSandwich Wedsand = new WedSandwich("단호박샌드위치", "수", "빵", "버터", "단호박"); TurSandwich Tursand = new TurSandwich("에그샌드위치", "목..