티스토리 뷰

Programming/Java

[Java] 클래스 Class

와우소년 2020. 5. 28. 23:48

클래스

모든 소스가 들어가는 하나의 집합.

Class 안의 main 이라는 함수 안에 소스를 작성한다.

클래스는 반드시 메모리를 할당(초기화)하여 사용해야 한다. => 객체화

 

클래스 = 변수(필드)  + 함수(메소드)

 

※ 클래스 안에 있는 함수 = 메소드

※ 클래스 밖에 있는 함수 = 함수(Funtion)

JAVA는 클래스만으로 구성되어있다. (메소드=함수)

 C는 함수와 메소드를 구분한다.

 

 

클래스의 필요이유

배열에는 데이터를 하나의 메모리에 하나만 넣을 수 있다.

여러 자료형의 데이터를 넣을 수 있는 집합이 필요하다.

 

 

main 메소드

- 프로그램이 실행되는 순간 컴파일러가 main 메소드를 제일 먼저 실행한다.

- 그래서 main에는 반드시 static으로 정적메모리에 공간을 할당해야 한다.

- main 메소드가 없다면 컴파일 자체가 되지 않는다.

- main에 static으로 공간이 할당되지 않으면 실행되지 않는다.

- 반드시 main 메소드 안에 실행되는 로직을 작성해야 한다.


public static void main(String[] args) {}

public  :   접근제한자 
static   :   정적 메모리에 올린다.(클래스함수) 
void   :   리턴타입 
main   :   메소드 이름 
String[]   :   배열형 매개변수. 
args   :   매개변수의 이름. 

 

생성자 
클래스 이름과 동일한 이름을 가진 함수.
눈에 안 보이게 생략되어있지만 실상은 존재하며, 함수 실행 시 가장 먼저 실행된다.

보통 변수나 함수의 초기화를 위해 작성한다.  
return타입은 없다.

 

 

내부 클래스

클래스 안에 선언된 클래스.

class A{

	class B{
		int num = 0;
	}
}

 

 

클래스와 메소드의 호출

1. 같은 클래스 내 main 안의 메소드의 호출

class Wowgarcon{
	public static void main(String[] args){
	
		public void func(){
			System.out.print("Hello");
		}

		func();	// 함수 호출 => "Hello"
	}
}

 

2. 같은 클래스 내 main 밖에 있는 메소드 호출

class Wowgarcon{
	public static void main(String[] args){
		Wowgarcon wow = new Wowgarcon();	//클래스를 new로 새로운 공간 할당
		wow.func();	// 메소드 호출하여 사용 => "Hello"
	}

	public void func(){
		System.out.print("Hello");
	}
}

 

3. 다른 생성자의 호출

this 를 이용하여 다른 생성자에 있는 값을 불러올 수 있다.

단, 클래스 내부에서만 가능.

this는 클래스 이름이라고 생각하라.

 

class Wowgarcon{
	public static void main(String[] args){
		int a = 1;
		int b = 2;

		// 1번 생성자
		Wowgarcon(){
			System.out.print(this.a);	// 1
		}

		// 2번 생성자
		Wowgarcon(int a){
			this();				// 1번 생성자 호출 => 1
			System.out.print(this.b);	// 2		
		}

		// 3번 생성자
		Wowgarcon(int a, int b){
			this(1);			// 2번 생성자 호출 => 1,2
 	   }
}

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함