5 글 보임 - 1 에서 5 까지 (총 5 중에서)
-
글쓴이글
-
2024년 7월 13일 00:09 #128049
22참가자질문1. 선생님 코드 중에서 public void 한살더하기(){ 할 때 return값을 안주시는데요. 혹시 제코드 처럼 return값 주면 틀리나요?
과제 제 코드: package com.example.spring_homework.section1;
import jakarta.persistence.*; import lombok.Data; import lombok.ToString;
@Data @Entity @ToString public class Age { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id;
private Integer age;
public Integer 한살더하기(){ this.age+=1; return age; }
public Integer 나이설정(int number){ if (number<0){ return this.age; } this.age=number; return age; }
}
package com.example.spring_homework.section1;
import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping;
@Controller @RequiredArgsConstructor public class AgeController { private AgeRepository ageRepository;
@GetMapping("/d") void list(Model model){ Age a = new Age(); a.setAge(60); a.나이설정(20); a.한살더하기(); System.out.println(a.getAge());
}
}
선생님 코드: @Getter @Setter public class Test { private Integer age; private String name; public void 한살더하기(){ this.age = this.age + 1; } public void 나이설정(Integer a){ this.age = a; } }
질문2.첫번째코드에서는 작동이 되는데 2번째 코드에서는 작동이 안되는 이유가 궁금합니다. 2번째 코드에서 Cannot resolve symbol '한살더하기' 이렇게 에러가 나옵니다. 인터넷에 찾아보니 Java에서는 클래스의 필드나 메서드를 클래스 몸체 밖에서 바로 사용할 수 없습니다. 클래스 내의 메서드는 다른 메서드 안에서 호출해야 합니다. 한다고 하는데요. public class AgeController { 안에서 선언한거니 클래스 몸체 내부 이지 않나요? 다른 이유가 있을까요? package com.example.spring_homework.section1;
import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping;
@Controller @RequiredArgsConstructor public class AgeController { private AgeRepository ageRepository;
@GetMapping("/") String list(Model model){ Age a = new Age(); a.한살더하기(); a.나이설정(12); a.ToString; }
}
package com.example.spring_homework.section1;
import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping;
@Controller @RequiredArgsConstructor public class AgeController { private AgeRepository ageRepository; Age a = new Age(); a.한살더하기(); a.나이설정(12);
}
2024년 7월 13일 09:57 #128054
codingapple키 마스터함수 쓴 자리에 값을 남기고 싶으면 return 씁시다 함수에 private같은거 붙인게 아닐까요 테이블만들거 아니면 @Entity같은건 뺍시다
2024년 7월 13일 14:05 #128070
22참가자package com.example.spring_homework.section1;
import jakarta.persistence.*; import lombok.Data; import lombok.ToString;
@Data
@ToString public class Age { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id;
private Integer age;
public Integer 한살더하기(){ this.age+=1; return age; }
public Integer 나이설정(int number){ if (number<0){ return this.age; } this.age=number; return age; }
} -------
package com.example.spring_homework.section1;
import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping;
@Controller @RequiredArgsConstructor public class AgeController { private AgeRepository ageRepository; Age a = new Age(); a.setAge(60); a.나이설정(20); a.한살더하기();
}
-
글쓴이글
5 글 보임 - 1 에서 5 까지 (총 5 중에서)
- 답변은 로그인 후 가능합니다.