좋은 인연, 좋은 발견

자바의 클래스 본문

it

자바의 클래스

dohwankim 2018. 5. 6. 23:54

자바를 시작하게 되면 처음 접하게 되는 것이 바로 클래스 입니다.

자바에서 클래스란 유사한 특징을 지닌 객체들의 속성을 묶어 높은 집합체입니다.

가령, 초등학교에 다니는 친구들이 하나의 객체라면 이 친구들을 하나로 정의하면 바로 클래스가 됩니다.

자바는 객체 지향 프로그램 언어 입니다. 그러므로 이 객체를 이루는 클래스는 기본 토대가 됩니다.

잘만든 클래스는 좋은 도구가 되기도 합니다.

학생이 있다면 선생님이 필요합니다. 이렇게 두 개의 클래스가 만들어지게 됩니다.

클래스는 서로 정보를 공유하지는 않습니다. 반드시 그래야하며 그렇지 못한 클래스는 잘 못 설계된 클래스 입니다.


 클래스 내부에는 많은 변수가 존재할 수 있습니다. 그리고 이들의 값을 자유롭게 변경하고 값을 출력해주는 메쏘드 들을 만들게 됩니다.

변수와 메쏘드는 굉장히 중요합니다. 그렇게 때문에 생성시 항상 고민이 필요합니다.

변수는 매우 많은 종류로 분류될 수 있습니다. 이들의 내용은 여기에 모두 작성하기엔 맞지 않고 가장 많이 사용하는 String형 변수에 대해서만 다루도록 하겠습니다. String형 변수는 문자열을 저장하는 변수입니다. 자바에서 기본으로 제공되는 변수이며 이 String은 클래스 입니다.

이렇게 잘 만들어진 클래스는 여러곳에 그대로 사용할 수 있게 됩니다. 그리고 String형 변수에 담긴 값은 String 클래스의 메쏘드로 값을 변경하고 리턴하게 됩니다. 


 자바에는 기본으로 제공되는 클래스가 많습니다. 그리고 여러분이 직접 만들어 볼 수도 있게 정보가 제공이 됩니다.

계산 시 자주 사용되는 Math 클래스가 그 중 하나이며 Math 클래스의 메쏘드는 모두 static 메쏘드로 제공이 됩니다.

Math 클래스를 객체로 선언할 필요없이 바로 메쏘드를 사용할 수 있습니다.


 클래스 내부에서 변수와 메쏘드를 선언/정의 할 때 이들의 정보를 접근제어 할 수 있는 예약어를 같이 사용합니다.

private은 순수하게 클래스 내부에서만 접근할 수 있고 변경할 수 있습니다.

public은 클래스로 선언된 객체가 언제든 접근할 수 있도록 되어있으며 변경또한 자유롭습니다.

protected는 private과 유사하지만 조금 더 설명하자면 상속 시 자식 클래스에서 접근할 수 있도록 하기 위핸 접근 제어 예약어 입니다.


Math 클래스의 메쏘드는 public이고 static 예약어를 사용되어 있어서 클래스명만으로 직접 호출할 수 있는 것입니다.


static 예약어는 어디에서든 접근할 수 있도록 지정하는 것입니다.

전역변수/메쏘드라 하여 자바 JVM이 별도로 로드 후 사용되도록 하기 위해 메모리를 별도로 지정되니 static을 너무 남발하여 메모리 누수를 하는 일은 없도록 주의해야 하겠습니다.


이상 클래스에 대해 조금 다뤄보았습니다.


Comments