변수
특징
- 인스턴트(instance/non static) 멤버
- 변수는 heap에 생성됨
- gc가 삭제, 명시 소멸이 안됨
- 클래스(static) 멤버
- static으로 클래스 로딩시 메모리 등록
- 프로그램 종료시 소멸
- 지역변수,파라미터
- 메서드내
- 해당 stack내에 생성
- 초기화 필요
- 소멸은 {}을 벗어날때, 메서드끝날때
메서드
- public(제한자) int(반환타입) add(함수명)(int a 파라미터)//선언부
- {}//구현부
Variable arguments
- 선언부에서 가변적인 인자들을 받기위해 사용
...
클래스와 일반 멤버간 호출
- static 메소드에서
- static변수, static메소드는 바로 호출가능
- 일반 변수, 일반 메소드는 객체 생서후
- 일반 메소드에서
- static변수, static메소드는 바로 호출가능
- 일반 변수, 일반 메소드는 바로 호출가능(이미 객체 생성된 상태)
- 다른 클래스 static메소드는 바로호출, 일반메소드는 객체생성후 가능
- 만약 파라미터로 다른 클래스를 받았으면 바로 호출 가능
call by value
- 값을 복사한다.
- 참조형 변수도 복사를 위해서는 주소값을 지나서 가르키는 값을 복사하는 깊은 복사를 해야한다.
오버로딩
생성자
- new와 함께 호출
- 초기화에 용이
- class와 같은 함수
- 리턴타입이 없음
- public private등이 가능
this
- 메소드를 가진ㄴ 클래스가 기준
- static에서는 못씀
this()