Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

붓, 그리다

정적 메서드, API, 동적 메서드 본문

JAVA/Basic

정적 메서드, API, 동적 메서드

붓그린 2017. 6. 16. 17:09
*메서드를 작성하는데 매개변수를 받을 때도 있고 안받을 때도 있는 기준점
- 멤버변수의 존재 유무

1) 멤버변수가 없으면 : 매개변수를 전달
2) 멤버변수가 존재할 경우 : 매개변수를 전달할 필요가 없다.
-> 멤버변수를 불러다 사용이 가능하기 때문 ( 정적메서드)


[ 정적 메서드 = 클래스 메서드 ]
- 객체생성 없이도 메서드를 호출
- static.반환형
- 가장 기본적인 계산, 단순한 작업, 최대값, 최소값, 절대값(수학적인)
- 내장 메서드

클래스명.정적메서드명(~)

- static 영역 : 정벅메서드, 정적멤버변수 선언된 것 먼저 메모리에 올림


<-> 일반메서드(=인스턴스메서드)
- 보편적인 일이 아닌 특수한 기능
- 업무에 따라서 DB > 조회 > 출력

객체명.일반메서드명(~)



JVM 메모리 구조
1) Method Area
- static 영역

2) Call Stack
- 메서드 호출시(매개변수, 메서드 내부의 지역변수) 객채(변수)

3) Heap
- 데이터가 실제로 저장이 되는 영역



*기존에 저장된 내장메서크 클래스를 이용하기
- java.lang.Math






*형변환 : 기본 자료형끼리의 형변환
byte > short > int > long > float > double
char

-> String은 객체형변환




[API 참조 방법 ]

*API문서 조회
클래스 이름안에 커서 입력하고 Shift+F2

- Field Summary : 멤버변수


1.메서드 찾는 방법

1) java.lang 패키지를 기본으로 찾아본다.
- 일반적인 프로그래밍 관련된 메서드

문자열(String) > 숫자 (Integer(정수), Double(소수점), Float, Byte, Short,,)
문자(Character)


2) 찾고자 하는 메서드의 성격을 파악한다.
- 매개변수가 필요한지의 여부, 개수, 자료형 및 반환형 유무가 고려대상
- 매개변수가 있고 반환값이 있는 것 등,,

3) 찾고자 하는 매서드가 맞다면 일반, 정적 메서드인지 파악

4)
- 정적메서드 : 클래스명.정적매서드명
- 일반메서드 : 객체명.일반메서드명


2.자료형 변환
1) 문자열("10.5") > 10.5(Double)

10.5=Double.parseDouble("10.5")


2) 문자("10") > 10(Integer)
=> 매개변수가 (integer) 있고 반환값이 (String) 있는 것을 조회

static int | parseInt(String s)
public static int parseInt(String s)
throws NumberFormatException

10=Integer.parseInt("10")

3) 정수 10 > 문자(10)

static String | valueOf(int i)
public static String valueOf(int i)

"10"=String.valueOf(10);


4) substring
- 특정문자열에서 일부분 해당되는 문자열을 뽑아낼때 사용

public String substring(int beginIndex)
 0123456
"unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
"emptiness".substring(9) returns "" (an empty string)












'JAVA > Basic' 카테고리의 다른 글

2차원 배열  (0) 2017.06.16
배열 Array  (0) 2017.06.16
객체지향 프로그래밍  (0) 2017.06.16
제어문 2  (0) 2017.06.16
객체지향언어  (0) 2017.06.16
Comments