코딩하렴

Java Class에는 무엇이 들어갈까?

by 으렴




Field 변수


지속적으로 사용할 때 쓰는 변수


선언된 위치만 다를 뿐 변수를 의미한다.


제한적으로 사용이 가능하다.


객체가 살아있는 동안에는 해당 객체(class)안의 모든 메소드는 사용이 가능하다


객체가 만들어져야지만 사용이 가능하다


변수의 종류


Static class 변수 

상수화 되어있는 변수 

instance 변수 

member 변수 : class가 생성될 때 만들어지는 변수 

local 변수 

method 내에 있는 변수(method 끝나면 사라짐) 


함수 밖에 스면 필드라고 보면 된다.


필드는 함부로 직접 건드리면 안되고 캡슐화를 하여야 한다.


(객체가 살아있는 동안 계속 유지되어야 하기 때문)


주로 private를 사용한다.




Constructor 생성자


객체 생성시 자동호출 되어지는 함수이다


객체 등록이라는 역할을 한다.


기본적인 객체로 항상 존재한다


new  Classname(); 하는 순간 생성자가 호출된다


생성자를 다녀오지 못하면 객체를 만들수 없다.


객체를 등록하는 순간 초기화를 진행할 수 있다(쓰레기 값 방지/명확한 값으로 시작)


리턴타입이 존재하지 않는다


생성자 함수명은 클래스명과 같아야 한다.


접근지정자는 보통 외부에서 접근하는 경우가 많기 때문에 public으로 하는 경우가 많다.


(만약 생성자가 private로 지정되어 객체 선언이 불가능 할 때에는 함수를 static으로 선언하여 그 내부에서 객체 선언을 하는 방법도 있다 → 싱글톤 패턴


오버로딩이 가능 → 파라미터에서 접근한 방식에 따라 알아서 매칭되어 불러진다.


디폴트 생성자 함수가 있음 (명시적으로 생성자 함수를 하나라도 만들 경우)




method 함수

instance method 

this를 가지고 있다. 

static method 

this를 가지고 있지 않다. 


외부에서 필드로 접근하기 위한 목적으로 사용한다.

필드를 캡슐화하고 보호해야 한다.

외부와 필드를 연결해주는 역할을 한다.


public class ClassName {

//Field
int num1, num2;


//default Constructor
public ClassName (){
System.out.println("디폴트 생성자 불러쓰");
num1 = 0;
num2 = 400;
}
//custom Constructor
public ClassName (int num3){
System.out.println("디폴트 생성자 불러쓰");
num1 = num3;
num2 = 400;
}

//method
public static void main(String[] args){
ClassName class1 = new ClassName(); //객체 생성 후 디폴트 생성자 호출
class1.num1 = 100; //객체를 통해 변수접근
System.out.println(class1.num1+class1.num2+".value"); //500.value

ClassName class2 = new ClassName(600); //사용자 설정 생성자 접근하여 객체 생성
System.out.println(class2.num1+class2.num2+".value"); //1000.value
}
}


'Programming Language > JAVA' 카테고리의 다른 글

JAVA의 접근 지정자  (0) 2019.02.20
정적 바인딩과 동적 바인딩  (0) 2019.02.19
JAVA란 무엇인가?  (0) 2019.02.19
DESIGN-PATTERN :: Strategy Pattern 스트래티지 패턴  (0) 2019.01.05
JAVA Queue/Stack 구현하기  (0) 2018.03.21

사이트의 정보

코딩하렴

으렴

활동하기