자바 클래스의 일반 구조와 클래스의 선언에 대해 정리했어.

클래스의 일반구조

클래스는 객체를 생성하는 템플릿이라고 살 수 있어. 그리고 자바 프로그램은 이런 클래스의 집합이라고 생각하면 돼.

자바의 클래스는 크게 2개의 요소로 구성되는데 첫번째는 객체가 가질 수 있는 데이터의 속성으로 이 속성은 데이터 자체를 포함할 수 도 있어. 두번째는 데이터를 조작할 수 있는 메소드야.

클래스의 구성을 이미지로 나타내면 아래와 같아.

클래스의 구성

아래의 예제들을 보면 클래스의 구조에 대해 이해하기가 쉬울 것 같아.

class ClassName { //클래스 헤더 영역

	//멤버 변수
	type1 varName1 = value1;
	typeN varNameN = valueN;

	//생성자
	ClassName(args1) {
		//생성되는 객체의 초기화 과정을 기술
	}
	ClassName(argsN) {
		...
	}

	//메소드
	mtype mName1(margs1) {
		//메소드 기술
	}
	mtype mNameN(margsN) {
		...
	}

}
class SampleClass {
	int a;
	int b;
	int c;

	//생성자. 이름이 클래스명과 같음
	public SampleClass(int x, int y, int z) {
		a= x;
		b=y;
		c=z;
	}

	//메소드
	public int sum() {
		int d;
		d = a + b + c;
		return d;
	}
}

클래스의 선언

[public/final/abstract] class ClassName {  //클래스 헤더
	... //클래스 멤버
}

클래스를 생성할 때는 클래스의 성격을 지정하는 한정자라는 것을 사용해.

한정자라는 것은 public, final, abstract 등을 말하는데 각각의 한정자는 아래와 같은 특징을 가지고 있어.

  • public은 다른 어떤 클래스에서도 이 클래스를 사용 할 수 있음을 의미해. 즉 다른 어떤 클래스에서 라도 클래스의 객체를 생성할 수 있는 거지.
  • final은 서브 클래스를 가질 수 없는 클래스야.
  • abstract는 추상 메소드를 가지는 추상(abstract) 클래스를 의미해. 추상 메소드는 실제 기능을 기술하는 바디 부분이 없는 메소드를 말하지.

public, final, abstract 등의 한정자를 지정하지 않는 경우에는 같은 패키지내의 클래스들만 접근이 가능하다는 뜻이야.

클래스는 아래의 예제들과 같이 선언해서 사용할 수 있어.

//데이터의 속성만 지정된 클래스
public class Box {
	int width;
	int height;
	int depth;
}
//데이터의 속성과 메소드를 가진 클래스
public class Box {
	int width;
	int height;
	int depth;
	public void volume() { //메소드
		int vol;
		vol = width * height * depth;
		System.out.println("volumn is" + vol);
	}
}
//데이터의 속성과 생성자, 메소드를 가진 클래스
class Box {
	int width;
	int height;
	int depth;
	public void Box(int w, int h, int d) {
		width = w;
		height = h;
		depth = d;
	}

	public void volume() {
		int vol;
		vol = width * height * depth;
		System.out.println("Volume is " + vol);
	}
}

Share This Post

Leave a Reply

Your email address will not be published. Required fields are marked *

Latest Post

  • Criss Cross Crossover Crunch Flutter Kicks Heel Touch Knees Up Crunch Legs Lower Plank Side Plank Superman Arms Up Crunch Aquaman Catch Dish Oblique Crunch
  • Businesses can survive by constantly generating revenue by selling goods or services. Companies that do not have sales or profit can not survive. So it
  • Amazon CEO Jeff Bezos sends letters to shareholders every year. This letter contains Amazon’s current achievements and future vision. He also enclose that the first
  • A middle-aged man came to Pastor Norman Vincent Peale one day to ask him for counseling. The dejected man told Pastor Norman Vincent Peale. “Pastor,
  • I have been working as an IT freelancer for over 10 years and have had a chance to work with various clients. Working freelance, I
  • CNBC analyzed the minutes of the Berkshire Hathaway shareholders’ meeting to find out why Warren Buffett could be an excellent investor. It is already known,
  • Good timing is like a good choice. So what is ‘good choice’? A good choice is to decide what you need to do first. That
  • We learned that in childhood we should brush our teeth immediately after eating rice. However, this is a common misconception in the days when common
  • In most cases, it is important for novice marketers to work efficiently by reducing the waste of work and increasing focus. He will not used
  • source: vornado.com The circulator is the abbreviated name for ‘air circulator’. The air circulator actually has a different purpose than the fan. Unlike a fan