package aa.bb //패키지 선언
//import java.lang.*; //묵시적 임포트 구문
import java.util.*; //임포트 구문
Class First{
public static void main(String[] args){ //main 메소드
String temp = "Hello Java";
Member member = new Member(); //객체생성
member.method(); //메소드 호출
Member member2 = new Member(temp); //생성자 오버로딩
member.method(temp); //메소드 오버로딩
}
}
class Member{
String str; //멤버변수 (Member Variable)
Member(){ //생성자 (Constructor)
System.out.println("생성자");
}
Member(String str){ //생성자 오버로딩
this.str = str;
System.out.println("생성자 오버로딩="+str);
}
void method(){ //메소드
System.out.println("메소드 호출");
}
void method(String str){ //메소드 오버로딩
this.str = str;
System.out.println("메소드 오버로딩="+str);
}
}
@클래스 구조
-실행되는 클래스(main)
-실행되지 않는 클래스
클래스 안에는 3개가 존재한다.
(1) 멤버 변수, (2) 생성자, (3) 메소드
여러 개를 사용할 수 있으며, 메소드와 생성자의 이름이 동일할 때 지역변수(파라미터)로 구분하여 사용이 가능하다.
이것을 메소드 오버로딩, 생성자 오버로딩이라고 한다.
@String temp = "Hello Java";
String = 타입(형)
temp = 멤버 변수 (Member Variable)
> 변수 앞에는 반드시 타입이 와야 한다.
"Hello Java" = 데이터 (멤버 변수 값)
> 변수 선언과 동시에 값을 넣는 걸 초기화라고 한다.
OOP에서는 temp = 속성, "Hello Java" = 속성 값
@class = 예약어
> 자바에서 지정한 예약어는 변수명으로 사용할 수 없다.
@Java 기본형 타입
(primitive type) (원시 데이터 타입)
byte, short, char, int, long, float, double, boolean
8가지를 제외한 나머지는 참조형이다.
@기본형, 참조형 메모리
기본형 (primitive type)의 경우 stack에 올라간다. = call by value
> 기본형은 메모리상에서 사용되는 값이 적다.
> 실행의 효율성 때문에 기본형은 스택에 바로 저장된다.
참조형 (reference type)의 경우 heap에 올라간다. = call by reference
@Java코드 작성 순서 관례
클래스 -> 생성자 -> 메소드
@Java 코어 API
import java.lang.*;
lang패키지 : 코어 패키지는 자바가 돌아갈 때 정말 많이 사용하는 패키지를 모아둔 것이기 때문에 생략이 가능하다.
@패키지 선언
package aa.bb
패키지 선언은 가장 상단!
패키지, 멤버변수, 행위=둘 중 하나 생성자(클래스명과 동일), 메소드, 메소드와 생성자(파라미터=arg=매개변수=지역변수)
'프로그래밍 언어 > Java' 카테고리의 다른 글
[JAVA] Calendar class 사용해서 날짜 가져오기 (0) | 2021.05.13 |
---|---|
[JAVA] String class 자주사용하는 메서드 (0) | 2021.05.13 |
[JAVA] 랜덤 숫자 중복제거 쉽게 이해하기! (0) | 2021.05.10 |
[JAVA] 변수정리 #멤버변수? 지역변수? 기본형? 참조형? (0) | 2021.04.22 |
[JAVA] #OOP특성 #상속 #다형 #은닉 #캡슐화 #캐스팅 #오버라이딩 (0) | 2021.04.20 |