5일차

배승원·2024년 1월 2일

공부

목록 보기
4/38

class 선언

  • class 구조
  • 필드(Field) : 객체의 데이터가 저장되는 곳(변수)/(상태.단순 데이터)
  • 생성자(Constructor) : new 연산자로 호출되는 메소드로 객체 생성 시 필드의 초기화를 담당
  • 메소드(Method) : 객체의 동작에 해당하며 클래스의 다양한 동작을 구성(함수)/(행동, 실행 데이터)

void

  • static void // 객체화 하지않고 설계도 차원에서 기능뽑아 쓴다.다른 클래스에서 새로운 변수를 변수를 만들때 new 가 붙어 있지 않아도 static메소드에서 끌어올수있다

오버로딩

  • 자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메소드를 정의할 수 있다.
  • 오버로딩 의 조건 : 메소드의 이름이 같고, 매개변수의 개수나 타입이 달라야 한다.
  • static 은 static끼리
  • 변수의 생명주기 : 생명주기(life cycle) : 변수의 메모리가 확보(allocate)된 시점부터 해제(release)되어 가용 메모리 풀(memory pool)에 반환되는 시점

  • 변수의 라이프사이클 : 자바의 객체의 생존 기간을 라이프 사이클이라고 한다. 객체가 생성된 후부터 폐기될 때 까지의 기간을 뜻한다.

  • 변수의 스코프 : 스코프는 변수에 접근할 수 있는 범위를 나타내는 개념입니다. 변수가 어떤 스코프 안에 선언되면 그 변수는 해당 스코프에서만 유효하며 외부에서는 접근할 수 없다.
    lass OverloadingTest {

    public static void main(String[] args) {
    	OverloadingMethods om = new OverloadingMethods();
    
    	om.print();
    	System.out.println(om.print(3));
    	om.print("Hello!");
    	System.out.println(om.print(4, 5));
    }

    }

class OverloadingMethods {
	public void print() {
		System.out.println("오버로딩1");
	}

	String print(Integer a) {
		System.out.println("오버로딩2");
		return a.toString();
	}

	void print(String a) {
		System.out.println("오버로딩3");
		System.out.println(a);
	}

	String print(Integer a, Integer b) {
		System.out.println("오버로딩4");
		return a.toString() + b.toString();
	}

}
  • 결과
    오버로딩1
    오버로딩2
    3
    오버로딩3
    Hello!
    오버로딩4
    45

선언위치에 따른 변수의 종류

지역변수
  • 특정한 구역({ })안에 생성되어 그 지역에만 사용할수 있는 변수는 지역변수(지역공간,메서드 내부)
전역변수
  • 전체에서 어디서든 호출하면 사용할수 있는 변수는 전역변수(전역공간,매서드 외부)
  • 매개변수:매게체

0개의 댓글