본문 바로가기

전체 글62

자바 - 객체지향퀴즈 요구사항 1. 사람은 자식, 부모님, 조부모님이 있다. 2. 모든 사람은 이름, 나이, 현재 위치 정보(x, y 좌표)가 있다. 3. 모든 사람은 걸을 수 있다. 특정 위치(x, y 좌표)로 이동한다. 4. 자식과 부모님은 달랄 수 있다. 특정 위치(x, y 좌표)로 이동한다. 5. 조부모님의 기본속도는 1이다. 부모님의 기본속도는 3, 자식의 기본속도는 5이다. 6. 달릴 때의 속도는 기본속도 대비 +2 만큼 빠르다. 7.수영할 때의 속도는 기본속도 대비 +1만큼 빠르다. 8. 자식만 수영을 할 수 있다. 특정 위치(x, y 좌표)로 이동한다. main 함수 동작 조건 1. 모든 종류의 사람 인스턴스는 각각 1개씩 생성한다. 2. 모든 사람의 처음 위치는 x=0, y=0 이다. 3. 모든 사람의 이름,.. 2023. 2. 20.
자바 - 인터페이스 인터페이스(interface)란? 인터페이스는 객체의 특정 행동의 특징을 정의하는 간단한 문법이다. 추상메소드와 비교 유사점 : 접근 제어자, return type, 메소드 이름만 정의하며 구현체를 선언하지 않는다. 차이점1 : parameter가 없으며 메소드만 정의한다. 차이점2 : implements 키워드를 통해 실제로 구현된다. 예제 코드 // paramter 없이 메소드만 정의한다. interface Flyable { void fly(int x, int y, int z); } class Pigeon implements Flyable { private int x,y,z; @Override public void fly(int x, int y, int z) { printLocation(); Syst.. 2023. 2. 20.
자바 - 추상 클래스 추상클래스(abstract class)란? 추상클래스는 추상메소드를 선언할 수 있는 클래스를 의미한다. 또한 일반적인 클래스와 다르게 상속받는 클래스(자식 클래스)없이 그 자체로 인스턴스를 생성할 수 없다. 추상메소드는 설계만 되어 있고 (메소드의 기본구조인 return type, 메소드 이름, parameter를 선언함), 구현체가 없는 메소드 (중괄호 안의 블럭은 선언하지 않으며, 자식 클래스에서 모두 구현함) 이다. 예제코드 abstract class Bird { private int x, y, z; void fly(int x, int y, int z) { printLocation(); System.out.println("move"); this.x = x; this.y = y; if (flyable.. 2023. 2. 20.
자바 - 접근 제어자 접근 제어자의 종류 private : 같은 클래스 내에서만 접근이 가능하다. default(nothing) : 같은 패키지 내에서만 접근이 가능하다. 접근 제어자를 선언하지 않은 경우도 해당된다. protected : 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서 접근이 가능하다. public : 접근 제한이 없다. 예제코드 pkg.ModifierTest (pkg/ModifierTest.java) package pkg; public class ModifierTest { private void messageInside() { System.out.println("This is private modifier"); } public void messageOutside() { System.out.pri.. 2023. 2. 20.