[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("에그샌드위치", "목..
[JAVA] 22-06-28 final / protected 접근제한자 ☑
·
STUDY/JAVA
final 클래스와 final 메소드 final 필드 : 수정불가 필드 final 클래스 : 부모로 사용 불가한 클래스 final 메소드 : 자식이 재정의 할 수 없는 메소드 상속할 수 없는 final 클래스 자식 클래스 만들지 못하도록 final 클래스로 생성 public final class 클래스{...} public final class String {...} //아래는 이렇게 하면 안된다는 예시 public class NewString extends String {...} 오버라이딩 불가한 final 메소드 자식클래스가 재정의 못하도록 부모클래스의 메소드를 final로 생성 접근제한 적용할 내용 접근할 수 없는 클래스 public 클래스, 필드, 생성자, 메소드 없음 protected 필드, 생..
[JAVA] 메소드 재정의, 상속 등을 이용해 게임 만들기
·
STUDY/JAVA
용사는 슬라임을 잡기 위해 무기 교체 시스템을 개발하려고합니다 상속과 오버라이딩을 사용하여 주먹, 숏소드, 롱소드, 랜스 4가지 무기타입을 교체합니다 필드명 AttRange, ChangeTime 으로 무기 교체 시간과 공격 범위를 상속받고 메서드 attAction 으로 이벤트를 발생시키시오. 어려운문제 용사와 슬라임 3마리가 자동으로 싸우며 랜덤으로 무기를 교체하고 효율적으로 자동전투를 할수있는 시스템을 개발하시오 다만들었다면 포션의 개수와 공격력 수치 랜덤 출력하는 게임 시스템을 추가하여 용사 1턴마다 효율적인 공격 방식을 재구성하는 알고리즘을 만드시오 용사 입장에서 슬라임수를 확인한다 용사 입장에서 가지고있는 무기타입의 공격범위와 공격력을 확인한다 용사 입장에서 가지고 있는 무기 타입을 교체하는 시간..
[JAVA] 22-06-27 메소드 재정의 (Override) ☑
·
STUDY/JAVA
메소드 재정의 상속된 메소드의 내용이 자식 클래스에 맞지않을 경우, 자식 클래스에서 동일한 메소드를 재정의하는 것을 말한다. 접근제한을 더 강하게 오버라이딩 불가 접근제한을 더 강하게 오버라이딩 할 수 없다는 것은 부모메소드가 public 접근 제한을 가지고 있을 경우 오버라이딩 하는 자식 메소드는 default 나 private 접근 제한으로 수정할 수 없다는 뜻이다. 부모클래스 ↓ public class Calaculator { double areaCircle(double r){ System.out.println("Calculator 객체의 areaCircle() 실행"); return 3.14159 * r * r; } } 자식클래스 ↓ public class Computer extends Calac..
[JAVA] 22-06-24 상속(Inheritance) ☑
·
STUDY/JAVA
자식이 부모를 선택해 물려받는다. 상속을 사용하면 중복된 코드가 줄어든다. package inheritance; public class Cellphone { public String model; public String color; public void powerOn(){ System.out.println("전원을켭니다"); } void powerOff(){ System.out.println("전원을끕니다"); } public void bell() { System.out.println("벨이 울립니다"); } public void sendVoice(String message) { System.out.println("자기:" + message); } public void receiveVoice(String..
[JAVA] 22-06-23 어노테이션(Annotation) ☑
·
STUDY/JAVA
어노테이션의 사전적의미는 "주석" 실수를 방지하는 특별한 기능을 가진 주석느낌으로 이해했다. 어노테이션은 클래스의 정보를 읽어오기 위함 = > 런타임 이후 시점 (프로그램 시작 이후) @ = 참조, 타겟 데이터하고 연결을 해준다. 일종의 생상자라고 생각하면 좋다. 어노테이션 : 프로그램시작후에 코드의 정보를 가져오는 것 어노테이션의 종류를 보면 이해가 쉽다. https://velog.io/@jkijki12/annotation [Java] 어노테이션이 뭔데?? 자바 어노테이션에 대해서 공부하자!! velog.io 이미지 출처 : 이것이자바다
[JAVA] 슬라임 게임 만들기
·
STUDY/JAVA
https://github.com/rebornbb/JAVAstudy import slimeLand.*; import java.util.*; public class Main { public static void main(String[] args) { //슬라임과 대치하는 용사 상황을 코드로 구현 //용사를 만들기(1명) // string 메모리를 적게쓰는법 String input = ""; Scanner scan = new Scanner(System.in); System.out.println("용사의 이름을 입력해주세요"); //키보드 입력값을 input 변수에 할당 input = scan.nextLine(); Warrior warrior = new Warrior(input, 500, 200); //whi..
[JAVA] 22-06-28 for문 이용해서 별 찍기 ☑
·
STUDY/JAVA
1. for(int i = 1; i
[JAVA] 22-06-21 Getter와 Setter / 싱글톤 ☑
·
STUDY/JAVA
클래스를 선언 할 때 필드는 일반적으로 private 접근 제한을 한다. 읽기 전용 필드가 있을 수 있다. (Getter의 필요성) 외부에서 엉뚱한 값으로 변경할 수 없도록 한다. (Setter의 필요성) Getter priative 필드의 값을 리턴하는 역할을 한다. -필요한 경우 필드의 값을 가공해서 리턴한다. getFieldName() 또는 isFieldName() 메소드를 말한다. -필드 타입이 boolean 일 경우 isFieldName() 이다. class Car { private double speed; public double getSpeed() { //타입은동일하게 //필드의 speed에서 get+ s를대문자로변경 return;}} //private double speed;에 제공 //필..