[Java] 클래스(객체)에 대해

객체지향에서 말하는 클래스(객체)에 대해..

본격 자바를 공부하게 되면서 C언어와는 다른 객체지향적인 자바의 특성에 대해 공부하게 되었다.
객체 지향 언어(Object-Oriented-Language)에서 얘기하는 객체는, 사전적 정의로는 의사나 행위가 미치는 대상이라고 할 수 있는데,
회사원의 출근과정을 우리가 흔히 아는 절차지향적인 과정으로 설명한다면 다음과 같이 할 수 있다.
기상을 하고 -> 식사를 하고 -> 옷을 입고 -> 대중교통을 타고 -> 회사로 출근한다.
이러한 시간대로의 흐름을 구현하는게 절차지향적 언어라고 한다면, 객체지향 언어는 위 출근 과정의 회사원, 식사, 옷, 대중교통, 회사등과 같은 객체 위주에 구현을 하는 언어라고 할 수 있다.
또 객체는 객체의 속성(=property, attribute)을 담은 맴버변수와 기능을 구현하는 메서드로 이루어져있다.
구체적인 구현을 알아보기 위해 회사원의 Id, 이름, 직급을 속성으로 갖고 있고, 그 정보를 표시해주는 메서드를 가진 클래스를 만들고 그 클래스를 이용하여 객체를 만들어보았다.

예제

Employee 클래스

package objectoriented;

public class Employee { // public => 접근제어자, 클래스명은 항상 대문자
	public int employeeId; // employee의 속성(propery, attribute)들
	public String employeeName;
	public String employeePosition;

	public void showInformation() { // employee의 메서드
		System.out.println(employeeId+", "+employeeName+", "+employeePosition);
	}
}

Employee 클래스를 사용하기 위한 EmployeeTest 클래스

package objectoriented;

public class EmployeeTest {

	public static void main(String[] args) { // main에서 시작
		Employee employeePark = new Employee(); // new => 새로운 클래스를 만들겠다는 선언
		employeePark.employeeId = 1234;
		employeePark.employeeName = "vividswan";
		employeePark.employeePosition ="master";

		employeePark.showInformation(); // 1234, vividswan, master 출력
	}

}