프로그래밍 언어/Java

[JAVA] #클래스구조 #멤버변수 #생성자 #메소드 #오버로딩

반응형
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=매개변수=지역변수)

 

반응형