1. 필드 설정field 을 넣어준 것과 main () 메소드에서 객체 생성해서 사용하는 것과 차이가 있는데 (실행은 됨)메모리에 미리 할당해서 사용하기 위해서 field 로 설정한 것, main() 메소드에서 실행되고 끝나면 사라짐public class AnimalBook { // static field private static BookManager manager = new BookManager(); public static void main(String[] args) { }}package book;public class AnimalInfo { private String name; private int age; public AnimalInf..
Language/JAVA
제네릭 (generic) 이란 ? 데이터 타입을 일반화(generalize)한다는 것을 의미 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 하면서 결정이 된다. class Test { // 제너릭 클래스라 불림 private T element; // 이 부분은 구체화 하지 않음(type 지정x) public void setElement(T element) { this.element = element; } public T getElement() { return element; } } 이 꺾쇠 괄호가 바로 제네릭 ! private T element; private int element; 이 부분이 구체화 하지 않았다 말을 하며 (타입 지정 하지 않은 것) 위 코드로 보면 T 가 자료형이구나 알 수 있..
Data 클래스와 마찬가지로 날짜와 시간을 다루는 클래스 Data 클래스와 Calendar 클래스의 차이점 : Data 클래스는 단순한 클래스로, 특정 시간을 저장하는 인스턴스 : Calendar 클래스는 시간과 시간 사이의 계산을 유용하게 할 수 있음 (타임존 설정 가능) => JDK 가 버전업 되면서 많은 메소드가 deprecate됨 (앞으로 지원되지 않을 것이므로 사용 자제 해달라는 의미) 따라서 Data 클래스는 구버전이며 날짜 관련 정보는 Calendar 클래스 사용하도록 public static void main(String[] args) { Calendar today = Calendar.getInstance(); int year = today.get(Calendar.YEAR); int mon..
/* * [예외 클래스 정의] * 1) Quiz01 클래스 내 * 사용자에게 이름을 입력 받고, 출력하는 inputName() 정의 main (메소드에서 호출) * 2) 이름이 한 글자만 입력되면, NameLengthException 예외 발생 * 3) 예외가 발생했을 때의 메세지는 잘못된 이름 입력 * - class명(에러타입) : 잘못된 이름 입력 * * * 이름을 입력하시오(2글자 이상 입력) >>> 홍길동 * 입력된 이름 : 홍길동 * * * 이름을 입력하시오(2글자 이상 입력) >>> 홍 * 에러메세지: 잘못된 이름 입력 */ class NameLengthException extends Exception { } public class Quiz01 { public static void main(S..
https://print-blue.tistory.com/160 JAVA 자바 활용 백엔드 개발 기초 연습 문제 - 상속 받은 메소드 호출 객체 배열을 생성해서 자동차와 요트를 받고, 메소드 호출 받기 package quiz01; class Vehicle { private int number; public Vehicle(int number) { this.number = number; } } public class Ex06 { public static void info(Vehicle vehicle) { / print-blue.tistory.com https://print-blue.tistory.com/161 JAVA 자바 활용 백엔드 개발 기초 연습 문제 - 일반 클래스에서 추상 클래스로 변경하기 https..
https://print-blue.tistory.com/160 JAVA 자바 활용 백엔드 개발 기초 연습 문제 - 상속 받은 메소드 호출 객체 배열을 생성해서 자동차와 요트를 받고, 메소드 호출 받기 package quiz01; class Vehicle { private int number; public Vehicle(int number) { this.number = number; } } public class Ex06 { public static void info(Vehicle vehicle) { / print-blue.tistory.com /* * [문제] * Vehicle 의 모든이 take() 를 정의하도록 * Vehicle type 을 abstrat class 로 변경하시오. * 추상화 */ p..
객체 배열을 생성해서 자동차와 요트를 받고, 메소드 호출 받기 package quiz01; class Vehicle { private int number; public Vehicle(int number) { this.number = number; } } public class Ex06 { public static void info(Vehicle vehicle) { // [문제] 메소드 호출 vehicle.drive(); vehicle.sail(); } public static void main(String[] args) { Vehicle[] myVehicle = new Vehicle[2]; myVehicle[0] = new Car(1350); info(myVehicle[0]); myVehicle[1] =..
package abstractclass; abstract class Animal { // private String name; protected String name; // 상속 관계의 자식만 접근 허용 public Animal() { this("미입력"); } public Animal(String name) { this.name = name; } public String getName() { // private 타입의 field 를 접근하기 위해 getter 사용 return this.name; } // abstract method public abstract void play(); } class Cat extends Animal { public Cat (String name) { // 매개변수 1개 ..