Java 7

JAVA-상속 실습(다형성, 추상, 강제 형 변환)

문제 1. Baby와 Dog 클래스를 작성하고 실행 결과를 제시하시오. abstract class Animal { private String type; public Animal(String type) { this.type=type; } public String getType() { return type; } abstract void run(); abstract void sound(); } class Dog extends Animal{ public Dog(String type) { super(type); } @Override void run() { System.out.println(getType()+" :네 발로 다닙니다."); } @Override void sound() { System.out.print..

Java/실습 2022.04.20

JAVA - 클래스와 상속 실습

문제1. 제시된 두 개의 클래스가 공통으로 갖는 필드와 메소드를 추상 클래스와 재정의를 사용하여 도형 넓이를 계 산하는 프로그램으로 완성 하시오 public abstract class Shapes{ abstract double area(); abstract void write(); } class Circle extends Shapes{ static final double PI = 3.14; double r; public Circle(double r) { this.r=r; } double area() { return r * r * PI; } void write() { System.out.print("Circle [radius="+r); System.out.printf("\tarea= %.2f]\n", ar..

Java/실습 2022.04.19

자바 이론(3) - 인터페이스

인터페이스란? - 개발 코드와 객체가 서로 통신하는 접점 1. 역할: a. 인터페이스 메소드를 호출하면 객체의 메소드가 호출됨 b. 개발 코드를 수정하지 않으면서 객체 교환이 가능함 2. 선언: [public] interface 인터페이스명 {.....} a. 인터페이스는 객체 생성 불가능 = 생성자 x b. 상수 필드 선언: 정적 필드, 데이터 저장 인스턴스 선언 불가능 - [public static final] 타입 상수이름 = 값; c. abstract 메소드 선언: 기본적으로 실행 블록이 없음 - [public abstract] 리턴타입 메소드이름(매개변수, ...) d. default 메소드 선언: 모든 구현 객체가 가지고 있는 기본 메소드로 사용 - [public] default 리턴타입 메소..

Java/이론 2022.04.16

JAVA- 클래스 실습(02)

문제 1. 학생을 나타내는 클래스 Student를 만들어보자. 학생은 이름(private name)과 점수(private score), 등급(private grade)을 가진다. 객체 내용(이름, 점수, 등급)을 출력하는 메소드 toString()를 가진다. 이름과 점수를 전달하는 생 성자도 필요하다. 점수를 전달해 세팅하는 메소드도 필요하다. Test 클래스를 작성하고 이름 없는 객체 생성(점수 는 객체 생성 후 세팅), 이름과 점수를 전달한 객체를 생성하여 메소드 toString() 호출의 결과를 출력하라. class Student{ private String name; private double score; private String grade; Student(){ this("anonymous",0..

Java/실습 2022.04.15

자바 이론(2) - 상속

상속이란? -> 자식 클래스가 부모 클래스의 멤버를 물려받음(필드. 메소드) 1. 클래스 상속(extends): 자식 클래스가 상속할 부모 클래스를 지정하는 키워드 2. 부모 생성자 호출: super() - 자식 객체 생성할 때: 부모 객체 생성 후 자식 객체가 생성됨 - 부모 클래스에 기본(매개변수 없는) 생성자가 없다면 작성 필수 - 부모 객체 생성할 때 부모 생성자 선택해 호출 가능( 매개값과 동일 타입일 때) - super(...)은 반드시 자식 생성자의 첫 줄에 위치해야함 메소드 재정의(@Override)? -> 부모 클래스의 메소드가 자식 클래스에서 사용하기에 부적합할 때 자식 클래스에서 수정하여 사용 1. 메소드 재정의될 경우 부모 객체 메소드 숨겨지고 자식 메소드가 호출됨 2. 주의: pr..

Java/이론 2022.04.15

JAVA-클래스 실습(01)

문제1. 사각형을 나타내는 클래스 Rectangle을 만들어보자. 사각형은 가로(w)와 세로(h)를 가지며, 사각형의 넓이를 반 환하는 area(), 사각형의 둘레를 반환하는 perimeter() 메소드, 객체를 초기화하는 생성자도 함께 선언한다. Rectangle 클래스를 작성하고 객체를 생성하여 테스트하라. 생성자를 사용하여 객체를 초기화 한 후 임의의 값으 로 필드값을 변경한 후 결과도 확인하시오 import java.util.Scanner; class Rectangle{ int area(int w,int h) { return w*h; } int perimeter(int w,int h) { return (w+h)*2; } } public class RectangleTest { public stati..

Java/실습 2022.04.15

자바 이론(1)- Class

객체 지향 프로그래밍 - OOP(Object Oriented Programming) a. 객체(Object): 물리적으로 존재하거나 추상적으로 생각 가능한 것 중 자신의 속성을 가지며 식별가능한 것 - 객체 = 생성자(constructor) + 속성(필드filed) + 동작(메소드method)로 구성 - 인스턴스(instance): 클래스로부터 만들어진 객체 b. 클래스(Class): 자바의 설계도 + 객체 생성을 위한 필드, 생성자, 메소드 정의 - 용도: 1. 라이브러리(API)클래스 : 다른 클래스에서 이용할 목적으로 만든 클래스 2. 실행 클래스: main()메소드를 가지고 있는 클래스, 실행할 목적으로 만든 클래스 c. 객체 생성: new 연산자( new class(); -> 생성자 호출 코드)..

Java/이론 2022.04.14