문서의 이전 판입니다!
객체 라이프 사이클 |
---|
1. 클래스 정의 |
2. 객체 참조변수 선언 |
3. 객체 생성 |
4. 생성자 호출 |
5. 주소 할당 |
6. 객체 사용 |
7. 객체 소멸 |
public class HelloWorld{ public static void main(String[] args) { System.out.println("Hello world!"); } }
자바는 마트료시카다.
public(접근권한) class(설계) HelloWorld(내가 만든 클래스 이름 - 대문자로 시작) { { ( [] ); } }
클래스(Class) - 설계도
변수의 유효범위(Variable Scope) - { }
{ } 범위 내에서 선언한 변수는 { } 내에서만 유효하다.
지역변수 ↔ 전역변수
지역변수 - 메소드 내에서만 접근할 수 있는 변수
static void a(){ int b = 10 ; }
메소드 a에서 변수 b는 a메소드 밖에서는 영향을 주지 않는다.
ex)
public class Example { public static void a() { int i = 10; b(); } static void b() { System.out.println(i); } public static void main(String[] args) { a(); } }
main이 먼저 실행되고 a메소드를 실행 a메소드에서 변수 i = 10을 선언하고 b메소드를 실행 b메소드에서 i를 출력하려고 하지만 i값을 찾을 수가 없어서 오류 발생 (a메소드에서 만든 변수 i는 a메소드에서만 사용이 가능하기 때문)
전역 변수 - 클래스 전역에서 접근할 수 있는 변수
public class Example { static int i = 20; // 전역변수 : 클래스 전체 범위를 대상으로 선언 public static void a() { int i = 10; b(); } static void b() { System.out.println(i); } public static void main(String[] args) { a(); } }
클래스 Example 아래에 i=20이라는 전역 변수를 생성. i=20은 클래스 Example의 {}안에 있는 모든 곳에 접근할 수 있다.
참고 : https://1016ps.tistory.com/6?category=972251
객체(Object) - 틀 구체적인 객체로 만들어 내는 것 - 인스턴스(Instance) 변수(Variable) - 그릇 배열(Array) - 표
자바의 구성