Spring mariogame(1)

MMM._.MMM·2025년 4월 17일

Udemy의 Become Java Spring Boot Full Stack Developer. Learn Spring Framework, Spring Boot, Spring Data, Docker & AWS 강의 내용 기록

class 생성부터 시작을 합니다
src/main/java에 class를 생성을 해줍니다

class생성시 뜨는 화면


Name을 AppGamingBasicJava로 지어줬습니다
추가로 psvm(public static void main(String[] args))를 생성해주는 것도 선택을 해줍니다.

이제 객체를 생성하고 의존성을 전달하는 코드 작성을 시작합니다.


코드를 보면 error가 발생하고 있습니다.
그 이유는 MarioGame과 GameRUnner의 클래스가 존재하지 않기 때문입니다.만약 클래스를 정의를 했는데도 에러가 발생한다면 import가 되었는지도 확인해보아야합니다

클래스를 생성을 하지 않았다면 아래 이미지와 같이 생성을 진행합니다

error가 발생하는 부분 ctrl or commend 1을 누르면 class 생성을 제안합니다


class 생성 클릭시 위와 같이 창이 추가로 뜨는데 여기서 Package부분에 .game만 추가하고 나머지는 기본세팅으로 진행합니다.
GameRunner도 똑같이 진행을 합니다.

class 생성을 했는데도 GameRunner와 gameRunner.run();부분에 error가 발생하는 것이 확인이 됩니다.
원인은 GameRunner class에 MarioGame을 인자로 받는 생성자가 정의되어 있지않기 때문입니다.
이제 원인을 알았으니 아래와 같이 GameRunner class에 MarioGame을 받는 생성자를 명시해줍니다.


이제 코드를 실행해보면 console에 제대로 출력되는 것을 확인 할 수 있습니다

AppGamingBasicJava.java의 main메소드에 사용된 var 키워드는 JAVA10부터 도입된 지역 변수 타입 추론기능입니다(Local Variable Type Inference)
실제로는 var를 추가하지 않은 코드와 같은 의미입니다.
그렇다면 var를 사용하는 의미는 무엇일까?

1.var는 컴파일러가 오른쪽 값을 보고 타입을 추론하게 해줍니다.
2.코드를 더 간결하게 만들고 반복되는 타입명을 줄일 수 있습니다.
3.단 클래스의 필드나 메서드의 매개변수/반환 타입에는 사용할 수 없습니다(지역 변수에만 사용이 가능)

예시)
MarioGame marioGame = new MarioGame();	//var 사용 전

var marioGame = new MarioGame();		//var 사용 후
profile
아....평화롭게 오카네모찌 되고JOB다...

0개의 댓글