요즘 java를 쓸 일이 없어 계속 까먹는 것 같아, 틈틈히 정리 해보려 한다.
객체/클래스에 대한 간단한 정리
1. 객체란?
구체적 추상적 데이터의 단위를 객체라고 표현한다.
사람, 자동차와 같은 사물 및 주문, 관리, 생산과 같은 행위 모두 객체로 표현할 수 있다.
2. 객체지향 프로그래밍(Object Oriented Program: OOP) 이란?
객체를 기반으로 하는 프로그래밍이다.
객체를 정의 및 기능을 구현하고 객체 간의 협력을 구현한다.
절차 지향 프로그래밍에 비해 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 프로젝트 개발에 많이
사용한다.
3. 클래스란?
객체를 코드로 구현한 것이다.
객체지향 프로그래밍의 가장 기본적인 요소이다.
1) 멤버변수
객체가 가지는 속성을 변수로 표현한 것이다.
"사람"에 대한 정보를 저장하기 위해 각각 저장할 항목들을 정리하였다.
public class Human {
public String name; //이름
public int age; //나이
public String sex; //성별
}
2) 메서드
객체의 기능을 구현한 것이다.
위에서 생성한 사람의 정보를 통해 기능을 구현하기 위해서 사람의 정보를 출력하는 메서드를 생성하였다.
"사람"의 정보를 출력하기 위해 showHumanInfo라는 메서드를 생성하였고
메서드 내부에 사람의 정보를 출력하는 코드를 작성하였다.
public class Human {
public void showHumanInfo() { //사람의 정보 출력하는 메서드 생성
System.out.println("이름:" + name);
System.out.println("나이:" + age);
System.out.println("성별:" + sex);
}
}
즉 클래스는 객체를 정의하는 틀의 역할을 하며, 멤버변수와 메서드를 포함한다고 이해하면 된다.
그럼 실제로 멤버변수, 메서드를 포함하는 클래스를 만들어보고, 객체를 생성하여 사용해보자.
Test.java
package egovframework.let.cop.bbs.web;
public class Test {
public static void main(String[] args) {
Human human = new Human(); // new를 통한 객체 초기화 및 객체 생성
// 멤버변수에 데이터 적재
human.name = "홍길동";
human.age = 23;
human.sex = "male";
// Human클래스의 showHumanInfo메서드 호출
human.showHumanInfo();
}
}
class Human {
// 멤버변수 선언
public String name;
public int age;
public String sex;
// 메서드 생성
public void showHumanInfo() { //학생 정보 출력
System.out.println("이름:" + name);
System.out.println("나이:" + age);
System.out.println("성별:" + sex);
}
}
결과
이름:홍길동
나이:23
성별:male
이렇게 예제를 통해 클래스를 생성하고 다른 클래스에서 해당 클래스를 통해 객체를 생성하고 사용해보았다.
여기서는 Human이라는 클래스를 생성하였고, Test라는 클래스에서 Human클래스를 통해 객체를 생성 및 사용하였다.
어려운 건 없으니 한번 읽어보면 이해가 될 것 같다.