728x90
반응형
더보기
배운 내용을 복습하며 적은 것입니다.
노션에서 정리하였으므로 노션이 더 보기 편할 수 있습니다.
https://www.notion.so/25-08-01-TIL-24574fb5c2e8801da519e5cb4a67b98b?source=copy_link
[Day] 08.01
[Chapter] ~35강
🔽 클래스 사용
여러 데이터를 묶어, Person 객체 생성
public class Main {
public static void main(String[] args) {
Person hong = new Person();
hong.age = 20;
hong.name = "홍길동";
hong.home = "서울";
Person lee = new Person();
lee.age = 22;
lee.name = "이순신";
lee.home = "대전";
System.out.println(hong.age);
System.out.println(hong.name);
System.out.println(hong.home);
System.out.println(lee.age);
System.out.println(lee.name);
System.out.println(lee.home);
}
}
class Person {
int age;
String name;
String home;
}
🔽 함수 사용
변수가 값을 저장하고 재사용한다면 함수는 코드를 저장하고 재사용한다.
- 메인 함수 (메서드)
- 함수는 클래스 안에 있어야 ⭕️
- 함수는 함수 안에 만들 수 ❌
- 함수 사용 ➡️ 코드 중복 없앨 수 ⭕️
- 매개변수 이용해 함수에 원하는 값 전달
- 리턴을 이용해 함수는 값을 외부로 전달 (즉, 함수가 리턴값으로 변신)
- 리턴을 사용하는 이유 : 함수의 결과물을 2차 작업하기 위해
public class Main {
public static void main(String[] args) {
double rst1 = circleArea(10);
double rst2 = circleArea(20);
System.out.println(rst1);
System.out.println(rst2);
// 반지름 10인 원의 넓이의 절반
System.out.println(rst1 / 2); // 157.0
// 반지름 20인 원의 넓이의 2배
System.out.println(rst2 * 2); // 1256.0
// 함수의 결과물을 2차 작업하기 위해 함수는 자신의 결과값을 건네줘야(리턴해야) 한다.
}
public static double circleArea(int radius) {
return radius * radius * 3.14;
}
}
🔽 지역변수
함수에서 만드는 모든 변수 (함수가 끝나면 사라짐)
✅ 인스턴스 변수 VS 지역 변수
1️⃣ 인스턴스 변수 (Instance Variable)
- 클래스 안, 메서드 밖에서 선언
- 객체(인스턴스)에 소속됨
- 객체가 존재하는 동안 유지됨
- 접근 시 this.변수명으로 참조 가능
public class Person {
// 인스턴스 변수
String name;
// 생성자
public Person(String name) {
this.name = name;
}
public void introduce() {
System.out.println("안녕하세요, 제 이름은 " + name + "입니다.");
}
}
public class Main {
public static void main(String[] args) {
Person p1 = new Person("예지");
Person p2 = new Person("민수");
p1.introduce(); // 안녕하세요, 제 이름은 예지입니다.
p2.introduce(); // 안녕하세요, 제 이름은 민수입니다.
}
}
2️⃣ 지역 변수 (Local Variable)
- 메서드(또는 블록) 안에서 선언
- 메서드 실행 시 생성 → 실행 종료 시 소멸
- 반드시 초기화해야 사용 가능 (Java는 지역 변수 기본값 제공 안 함)
public class Calculator {
public int add(int x, int y) {
int result = x + y; // 지역 변수
return result;
}
public void showExample() {
int temp = 100; // 지역 변수
System.out.println("temp 값은 " + temp);
}
}
public class Main {
public static void main(String[] args) {
Calculator calc = new Calculator();
System.out.println(calc.add(3, 4)); // 7
// System.out.println(result); // 컴파일 에러 (지역 변수 접근 불가)
}
}
📌 차이점 정리표
| 구분 | 인스턴스 변수 | 지역 변수 |
| 선언 위치 | 클래스 내부, 메서드 외부 | 메서드 또는 블록 내부 |
| 소속 | 객체(인스턴스)에 소속됨 | 메서드에 소속됨 |
| 생명 주기 | 객체가 생성 → GC로 제거될 때까지 유지 | 메서드 실행 시 생성 → 종료 시 소멸 |
| 기본값 | 자동으로 기본값 할당됨 (int=0 등) | 반드시 초기화 필요 |
| 접근 범위 | 클래스 전체(인스턴스 기준)에서 접근 가능 | 선언된 블록 안에서만 접근 가능 |
728x90
반응형
'✏️공부 > 💡JAVA' 카테고리의 다른 글
| [JAVA] JAVA 기초 | static, 상속 (extends) | 예제 문제 ⭕️ (4) | 2025.08.05 |
|---|---|
| [JAVA] JAVA 기초 | 배열, 리스트(ArrayList<>) , 맵(Map<>), 제네릭 (3) | 2025.08.04 |
| [JAVA] JAVA 기초 | 원시타입 vs 참조타입, 반복문, 조건문 등 (4) | 2025.08.01 |
| [JAVA] 백트래킹(Backtracking) | 개념, 동작 흐름, 예시 ⭕️ (3) | 2025.07.10 |
| [JAVA] Set | 개념, 활용, 예제 ⭕️ (0) | 2025.06.18 |
