Java 202

인터페이스 활용예제

패키지 계층구조없이 코드를 완성해 봅시다. 패키지 ex10을 먼저 만들어 주세요. ​ ※ chapter03 생략 ​ 1. UserInfo 클래스 생성 package ex10; // 1 UserInfo 클래스를 만들어 줍니다. public class UserInfo { private String userId; private String password; private String userName; // 멤버 변수가 접근 지시 제어자가 // private 이기 때문에 getter, setter 메서드를 만들어 줍니다. // 단축키 Alt + Shift + s --> Generate getter and setter 클릭 public String getUserId() { return userId; } publi..

Java/정리 2021.08.31

인터페이스

인터페이스란? ​ ● 모든 메서드가 추상 메서드로 선언됨 public abstract ● 모든 변수는 상수로 선언됨 public static final ​ interface 인터페이스 이름{ public static final float pi = 3.14F; public void makeSomething(); } ​ ● 자바 8 부터 디폴트 메서드(default method)와 정적 메서드(static method) 기능의 제공으로 일부 구현 코드가 있음 ​ ​ ​ ​ ​ 인터페이스 정의와 구현 ​ ​ ​ ​ ​ 인터페이스 구현과 형 변환 ​ ● 인터페이스를 구현한 클래스는 인터페이스 형으로 선언한 변수로 형 변환 할 수 있음 ● Calc calc = new CompleteCalc(); ● 상속에서의 형..

Java/정리 2021.08.31

ArrayList

java.util 패키지에서 제공되는 ArrayList ★★★★★실무★★★★★★ ​ ​ ● 기존의 배열 선언과 사용 방식은 배열의 길이를 정하고 요소의 개수가 배열의 길이보다 커지면 배열을 재할당하고 복사해야 했음 ● 배열의 요소를 추가하거나 삭제하면 다른 요소들의 이동에 대한 구현을 해야 함 ● ArrayList는 객체 배열을 좀더 효율적으로 관리하기 위해 자바에서 제공해 주는 클래스 ● 이미 많은 메서드들이 최적의 알고리즘으로 구현되어 있어 각 메서드의 사용 방법만 익히면 유용하게 사용할 수 있음 ​ ​ ArrayList의 주요 메서드 ​ ​ ​ ArrayList를 활용한 간단한 예제 import java.util.ArrayList; public class ArrayListTest { public s..

Java/정리 2021.08.30

객체 지향 프로그래밍으로 구현해보기 (ex문제)

버스와 지하철을 타는 예제 프로그래밍 James와 Tomas는 각각 버스와 지하철을 타고 학교에 갑니다. James는 5000원을 가지고 있었고, 100번 버스를 타면서 1000원을 지불합니다. Tomas는 10000원을 가지고 있었고, 1호선 지하철을 타면서 1200원을 지불합니다. ● 두 학생이 버스와 지하철을 타는 상황을 구현해 봅시다. ​ ​ Student.java public class Student { String studentName; int grade; int money; public Student(String studentName, int money) { this.studentName = studentName; this.money = money; } public void takeBus(B..

Java/정리 2021.08.30

abstract ch03 Car

package ch03; public abstract class Car { public void startCar() { System.out.println("시동을 켭니다."); } public void turnoff() { System.out.println("시동을 끕니다"); } //추상메서드 public abstract void wiper(); public abstract void drive(); public abstract void stop(); //실무* //후크(hook) 메서드 //필요하면 사용하는 클래스에서 직접 구현해서 사용하라. public void washCar() { }//안에 아무것도 담지않는 것 일반메서드 //메뉴얼카에만 필요해서 메뉴얼카에만 적용이 가능하게끔 함 //핵심 !! /..

Java/Excercise 2021.08.30

abstract ch02 Computer

package ch02; public abstract class Computer { //추상메서드가 하나라도 있으면 추상클래스가된다. abstract public abstract void display(); //재구현해야 허용이된다. public abstract void typing(); public void turnon() { System.out.println("켭니다"); } public void turnoff() { System.out.println("끕니다"); } } package ch02; public class DeskTop extends Computer{ @Override public void display() { System.out.println("화면이 표시됩니다."); } @Overr..

Java/Excercise 2021.08.30

abstract ch01 Animal

package ch01; public abstract class Animal { //추상클래스 (abstract class) //하나이상의 추상 메서드를 포합하는 클래스입니다 public String name; //일반메서드 public void move() { //System.out.println("이동 합니다"); } //추상 메서드 public abstract void hunt(); //메인함수 public static void main(String[] args) { //추상클래스는 사용했던 new 키워드를 사용해서 작성 ///new Animal(); } } package ch01; public class Eagle extends Animal{ @Override public void hunt() {..

Java/Excercise 2021.08.30