on
Java_04
Java_04
#변수에 리스트내용을 차례대로 넣기
for(자료형 변수명 : 리스트){ 코드 }
#다차원 배열
//선언 자료형[][] 배열명 = {{값, 값, ...}, {값, 값, ...},...}; 자료형[][] 배열명 = new 자료형[크기][크기];
#리스트형 변수
메소드(자료형[] 변수명){}
#메소드(≒ 함수)
메소드명칭() - ex) println(), nextInt(), ...
어떠한 기능을 하는 것
#변수의 사용 이유
값을 재사용하기위함
#메소드의 사용 이유
코드를 재사용하기위함
#메소드 선언
클래스 안, 메인메소드 밖에서 선언(정의)
public static 리턴타입 메소드명(매개변수타입 매개변수, 매개변수타입 매개변수, ...){ 실행 return 리턴값; //리턴타입이 void의 경우에 return이 없어도 되고 있으면 해당위치에서 메소드종료 }
#메소드 사용(호출)
클래스명.메소드명(매개변수, 매개변수, ...);
#메소드 오버로딩(overloading)
같은이름의 메소드라도 매개변수의 개수나 타입이 다르면 다른 메소드이다.
#다형성(polymorphism)
객체지향 언어의 4가지 특징 중 한 가지로
하나이 클래스나 하나의 함수가 다양한 방식으로 동작이 가능한 것
ex)오버로딩
#지역변수(local variable)
메소드 안에서 선언된 변수(매개변수포함)
해당 지역 안에서만 사용가능
#메소드의 매개변수
사용자가 넘긴 값을 잠시 복사하여 사용하는 저장공간
메소드 종료시 해제됨
##클래스(class)
#클래스 정의 (자료형 만들기)
class 클래스명{ //클래스명은 대문자로 시작을 권장 멤버변수 //(인스턴스변수, 클래스변수) 멤버함수 }
#객체(인스턴스)선언
클래스명 선언할객체명 = new 클래스명(); //클래스명()은 생성자
#class 안에서의 static - 다른 객체들과 공유됨
한 객체에서 바꾸면 다른 객체에서도 바뀜
클래스명.변수명 으로 접근가능
static 변수 : 클래스변수
static 메소드의 경우 모든 객체에서 동일하게 동작하기 때문에
인스턴스변수 사용불가
#초기화 생성자
생성하면서 값을 초기화도 동시에 진행
public 클래스명(값들){ this.인스턴스변수 = 값; } //자기자신의 객체를 this가 받아옴
정의하지 않으면 자동으로 생성되지만
정의하면 자동으로 생성되는 생성자는 생성되지 않으므로 따로 정의해야함
+)Scanner
new Scanner(System.in); 직접 입력받기
new Scanner("텍스트이름"); 텍스트로 입력받기
#접근제어자
public
모든곳에서 사용가능
default
같은pakage에서 사용가능
protected
같은pakage에서 사용가능
상속받은 pakage에서 사용가능
private
선언한 class안에서만 사용가능
클래스에서 변수를 private로 선언하면
직접접근하지 못하므로
메소드를 통해서 접근해야함
이 경우 값을 검사할 수 있다
설정하는 메소드를 setter
가져오는 메소드를 getter
from http://playpizza.tistory.com/38 by ccl(A) rewrite - 2021-11-28 20:28:13