스프링을 공부하면서 STS (Spring Tool Suite)라는 것을 알게 되었다.
스프링 프레임워크 (Spring Framework)를 공부하면서 스프링 프레임워크는 Java Web Application 개발을 위한 경량 프레임워크라고 알 수 있었다.
자바를 이용해 Web을 개발하기 위한 도구인 것이다.
그만큼 스프링 프레임워크는 방대하고, 복잡하기 때문에, 사용자가 편하게 사용할 수 있도록 도와주는 것이
"스프링 부트 (Spring Boot)" 인 것이다.
자바의 IDE라면 IntelliJ 말고도 이클립스가 대표적일 것이다. 이클립스에서는 STS(Spring Tool Suite)를 제공하는데,
이는 스프링 개발에 최적화된 이클립스이다.
이클립스에 스프링 프레임워크 플러그인 (Spring Framework Plugin)이 자동으로 추가된 버전인 것이다.
처음에 STS version 4를 설치하고나서 이클립스의 UI와 매우 흡사한 것을 알 수 있었다.
New -> 프로젝트 생성을 하였다.
"Spring Starter Project"를 통해 만들고, 안에 package를 하나 만들어 그 안에 Main.java 클래스를 생성하였다.
이 클래스는 자바에서 main()메서드가 실행될떄 T 메모리의 구조가 어떻게 할당되는지 알아보기 위한 테스트 클래스이다.
이 클래스에 임의의 변수를 만들고 Breakpoint를 설정하고(Toggle) 그 위치에서 우클릭 후
Debug As -> Java Application 으로 실행하면, Variables 창이 토글되는데, 여기에는 Name 과 Value로 이루어진 리스트가 보인다.
Name에는 말그대로 코드 내에서 선언했던 변수의 이름을 보여준다.
Value또한 변수의 값을 표시한다.
이 구조를 통해 main()메서드와 square()라는 임의의 메서드가 있을때,
동일한 이름 변수 (k)를 선언하게 되면 값의 할당은 어떻게 이루어질까를 알아볼 수 있었다.
먼저, main메서드에서
int k = 5;
처럼 변수를 선언한 후 그 밑에서 Breakpoint를 설정하여 Debug 해보았는데, Variables 창에 k = 5 가 출력되었다.
square메서드에서는 인자로 int k 를 받아 k = 25;로 초기화를 다시 해준다.
그 k를 result에 대입 후 result값을 반환하는 구조이다.
private static int square(int k) {
int result;
k = 25;
result = k;
return result;
}
여기서도 return result; 부분에 Breakpoint를 두고 Debug해보았다.
이번에는 Variables 창에 k = 25가 출력되었다.
main()메서드에서 k가 5로 초기화되었었지만, 동일한 이름이기만하지 실제 메모리공간은 다르기 때문에
새롭게 값이 출력된 것이다.

STS를 통해 각 메서드가 메모리를 어떻게 가져가는지 엿볼 수 있었다.
'Programming > Spring_스프링' 카테고리의 다른 글
[스프링] 5. 다중상속과 인터페이스 (0) | 2023.05.22 |
---|---|
[스프링] 4. 클래스 멤버와 객체 멤버, 객체지향의 상속 (0) | 2023.05.19 |
[스프링] 3. 객체지향의 4대 특성, 클래스와 객체의 관계 (0) | 2023.05.19 |
[스프링] 2. STS 설치 및 멀티스레드 (MultiThread) (0) | 2023.05.13 |
[스프링] 1. 프로젝트 생성 및 메모리 구조 확인 (2) (0) | 2023.03.01 |
스프링을 공부하면서 STS (Spring Tool Suite)라는 것을 알게 되었다.
스프링 프레임워크 (Spring Framework)를 공부하면서 스프링 프레임워크는 Java Web Application 개발을 위한 경량 프레임워크라고 알 수 있었다.
자바를 이용해 Web을 개발하기 위한 도구인 것이다.
그만큼 스프링 프레임워크는 방대하고, 복잡하기 때문에, 사용자가 편하게 사용할 수 있도록 도와주는 것이
"스프링 부트 (Spring Boot)" 인 것이다.
자바의 IDE라면 IntelliJ 말고도 이클립스가 대표적일 것이다. 이클립스에서는 STS(Spring Tool Suite)를 제공하는데,
이는 스프링 개발에 최적화된 이클립스이다.
이클립스에 스프링 프레임워크 플러그인 (Spring Framework Plugin)이 자동으로 추가된 버전인 것이다.
처음에 STS version 4를 설치하고나서 이클립스의 UI와 매우 흡사한 것을 알 수 있었다.
New -> 프로젝트 생성을 하였다.
"Spring Starter Project"를 통해 만들고, 안에 package를 하나 만들어 그 안에 Main.java 클래스를 생성하였다.
이 클래스는 자바에서 main()메서드가 실행될떄 T 메모리의 구조가 어떻게 할당되는지 알아보기 위한 테스트 클래스이다.
이 클래스에 임의의 변수를 만들고 Breakpoint를 설정하고(Toggle) 그 위치에서 우클릭 후
Debug As -> Java Application 으로 실행하면, Variables 창이 토글되는데, 여기에는 Name 과 Value로 이루어진 리스트가 보인다.
Name에는 말그대로 코드 내에서 선언했던 변수의 이름을 보여준다.
Value또한 변수의 값을 표시한다.
이 구조를 통해 main()메서드와 square()라는 임의의 메서드가 있을때,
동일한 이름 변수 (k)를 선언하게 되면 값의 할당은 어떻게 이루어질까를 알아볼 수 있었다.
먼저, main메서드에서
int k = 5;
처럼 변수를 선언한 후 그 밑에서 Breakpoint를 설정하여 Debug 해보았는데, Variables 창에 k = 5 가 출력되었다.
square메서드에서는 인자로 int k 를 받아 k = 25;로 초기화를 다시 해준다.
그 k를 result에 대입 후 result값을 반환하는 구조이다.
private static int square(int k) {
int result;
k = 25;
result = k;
return result;
}
여기서도 return result; 부분에 Breakpoint를 두고 Debug해보았다.
이번에는 Variables 창에 k = 25가 출력되었다.
main()메서드에서 k가 5로 초기화되었었지만, 동일한 이름이기만하지 실제 메모리공간은 다르기 때문에
새롭게 값이 출력된 것이다.

STS를 통해 각 메서드가 메모리를 어떻게 가져가는지 엿볼 수 있었다.
'Programming > Spring_스프링' 카테고리의 다른 글
[스프링] 5. 다중상속과 인터페이스 (0) | 2023.05.22 |
---|---|
[스프링] 4. 클래스 멤버와 객체 멤버, 객체지향의 상속 (0) | 2023.05.19 |
[스프링] 3. 객체지향의 4대 특성, 클래스와 객체의 관계 (0) | 2023.05.19 |
[스프링] 2. STS 설치 및 멀티스레드 (MultiThread) (0) | 2023.05.13 |
[스프링] 1. 프로젝트 생성 및 메모리 구조 확인 (2) (0) | 2023.03.01 |