728x90

 

메소드(method)

다른 프로그래밍 언어에는 함수라는 것이 별도로 존재한다. 하지만 자바는 클래스를 떠나 존재하는 것은 있을 수 없기 때문에 자바의 함수는 따로 존재하지 않고 클래스 내에 존재한다.

자바는 이러한 클래스 내의 함수를 메소드라고 부른다.

※ 보통 함수와 메소드가 공존하는 언어(예:파이썬)에서는 두 개를 구분하여 말하기도 하지만 자바는 보통 메소드와 함수를 구분하여 말하지 않는다. 다만 자바에서 사용되는 함수의 정확한 명칭은 메소드

위 내용의 출처 : 점프투자바

 

역할

입력을 가지고 어떤 일을 수행한 다음에 결과물을 내어놓는 것, 이것이 메소드가 하는 일

 

구조

입력값 -> 메소드 -> 리턴값

메소드는 들어온 입력값을 가지고 어떤 처리를 하여 적절한 리턴값을 돌려주는 블랙박스와 같다.

기능부분에 생성자도 있지만 메소드도 있다

 

 

메인메소드( main method)

메인메소드는 모든 형태를 다 가지고 있다

public static void main(String[] args) {
[접근제한자] [예약어] 반환타입 메소드명(매개변수) {

  - 생략가능 : 접근제한자 예약어 매개변수

 

  1. 접근 제한자
  2. 예약어
  3. 반환타입
  4. 매개변수
  5. 표현식 종류 4가지

 

접근제한자 : public private protected default

예약어 : static final 등

반환타입 :

     A. void : 반환할 게 없음. 반환값이 없다고해서 안쓰면 생성자처럼 됨. 필히 쓸 것

     B.기본자료형을 반환하는 메소드

           ex) Integer.parseInt, chataAt(), Math.random(), String.equals(),String.length() 등등

C.배열을 반환 : Arrays.copyOf()

D.클래스를 반환 : Scanner.nextLine() .nextInt 등등

메소드명

매개변수

 


1) 접근 제한자

 

2) 예약어

 

3) 메소드 반환형

 

4)메소드 매개변수

1.() : 매개변수 없음 = 전달할 값이 없음

2.기본자료형

3.배열 : 얇은 복사(주소값)

4.클래스

5.가변인자 : 매개변수의 개수가 정해지지 않은 유동적 설정

      ex)printf() - 공식API문서 printstream 확인가능

자료형... 변수명 // ...은 가변의미를 나타냄

 

※ 매개변수와 인수

public class Sample {
    int sum(**int a, int b**) {  // a, b 는 **매개변수**
        return a+b;
    }

    public static void main(String[] args) {
        Sample sample = new Sample();
        int c = sample.sum(**3, 4**);  // 3, 4는 **인수**

        System.out.println(c);  // 7 출력
    }
}

 

5) 표현식 종류 4가지

1)반환타입 o 매개변수 o 메소드

2)반환타입 o 매개변수 x 메소드

3)반환타입 x 매개변수 o 메소드

4)반환타입 x 매개변수 x 메소드

 

 


 

메소드와 생성자 구분법

구분기준 : 반환 여부

public Book() {

} // 반환타입이 없으므로 생성자

반환타입 o : 메소드

반환타입 x : 생성자

728x90
반응형
728x90

728x90
반응형
728x90

JAVA method - 5. 메소드의 출력

 

 

자바에서 메소드 아웃풋의 핵심 중 알아야할 return

  1. 메소드 뒤에 있는 리턴값이 메소드의 실행 결과가 된다
  2. 리턴값은 메소드를 종료시키는 역할도 한다
  3. 메소드는 그 메소드의 리턴값이 어떤 데이터 타입인지 지정해주어야한다

ex)

public static int one() {
		return 1;

 

 

메인메소드의 세부설명

public static void main(String[] args) throws IOException { 
	// void : 리턴값이 없다
	// throws IOException : 오류가 발생했을 때, 오류를 이 클래스를 사용하는 쪽으로  던져버리는 기능

void : 리턴값이 없다

throws IOException : 오류가 발생했을 때, 오류를 이 클래스를 사용하는 쪽으로 던져버리는 기능

 

 

자바의 파일출력(FileWriter) 기능

변수명 앞 데이터타입 지정할 자리에 FileWriter를 넣는다

import java.io.FileWriter;

import java.io.IOException;

(두가지를 임포트 해야하는데 빨간색 에러표시 뜨면서 이클립스에서 자동 추천해주니 힘들게 외울 필요는 없다)

 

형태

FileWriter 변수명 = new FileWriter("파일명.txt");

변수명.write(파일 안에 써질 내용);

변수명.close(); 반드시 닫아줘야한다

ex)

import java.io.FileWriter;
import java.io.IOException;

public static void writeFileTwoTimes(String text, String delimiter) throws IOException {
		FileWriter fw = new FileWriter("output.txt");
		fw.write(delimiter+"\\n");
		fw.write(text+"\\n");
		fw.write(text+"\\n");
		fw.close();
	}

 

이외에도 BufferedWriter라는게 있는데 기록하고자 하는 파일의 크기가 100K를 넘는다면 BufferedWriter + FileWriter 를 혼합하여 사용하는게 파일 기록할때 속도가 더 빠르다고 하니 기억해뒀다가 추후에 사용하자

728x90
반응형

+ Recent posts