이번 시간에는 자바 클래스 생성 방법과 메소드에 대해서 알아볼텐데요. 기본적으로 개발언어인 자바는 객체지향 언어라는 것을 알아야 합니다. 절차지향 언어는 하나의 로직을 순서대로 진행하여 처리하지만 객체지향 언어는 객체의 호출순서에 영향을 받습니다.
객체를 만들어서 순서에 연연해 하지 않고 자주쓰거나 필요한 부분은 따로 재정의 하여 모듈화 하는 등의 장점을 지닌 기법입니다. 그래서 객체지향성과 이를 통해 구현하는 클래스와 메소드의 사용법과 기능에 대해서 알아보겠습니다.
1. 객체
1) 현실 세계에 존재하는 사물이나 대상 (예: 핸드폰, tv, 건물, 지하철 등등)
2) 이런 객체 개념을 통해 프로그램을 보다 유기적으로 개발, 작성이 가능함
2. 클래스
1) 객체를 자바에서 구성하기 위한 객체의 설계도 같은 개념
2) 만약 노트북을 만든다고 하면 노트북 클래스를 만들고 노트북의 부속품이나 동작원리 등을 클래스 안에 기술함
3) 클래스를 객체로 만드는 과정을 인스턴스화 라고 하며 클래스를 통해 만들어진 객체를 인스턴스 라고 불린다.
3. 메소드
1) 어떠한 기능을 수행하기 위한 명령문 ( 예 : 노트북의 전원을 켜라, 마우스를 움직여라 )
기본적인 메소드의 형태는 위와 같습니다.
매개변수 전달과 이를 이용하여 산술을 할 수 있으며 결과값을 리턴받을 수 있습니다.
한번 예제 소스를 통해 클래스와 메소드 사용방법에 대해서 알아보겠습니다.
4.예제소스
class NoteBook{ String game; String power; int memory = 512; // 노트북의 구성요소(변수)에 게임과 전원, 그리고 현재 메모리를 할당합니다. void rungame(){ // rungame 메소드를 통하여 현재 노트북에 어떤 게임이 있고 그 게임을 실행하는 메서드를 실행 System.out.println(game+"게임을 실행합니다."); } void power(String stats){ // 파워 메소드를 기술하고 외부로 받는 String 데이터를 ()안에 선언하여 현재 노트북의 상태를 나타냄 System.out.println("노트북 : "+stats); } int addmemory(int memory){ memory += this.memory; // 현재 노트북의 메모리값(this.memory)을 받아 memory에 더해 외부로 내보낸다(return) return memory; } } public class NoteBookEx { public static void main(String[] args) { NoteBook nb = new NoteBook(); // 인스턴스를 생성하기 위해 변수 nb를 지정하고 노트북 클래스를 인스턴스화 한다-new NoteBook(); nb.game = "스타크래프트"; // 노트북을 인스턴스화 한 nb변수의 game에 스타크래프트를 저장 nb.rungame(); // rungame을 통한 현재 game에 저장된 게임을 실행 nb.power("off"); // 인스턴스 nb.power에 인자값 off를 넘기고 메소드를 실행 int result = nb.addmemory(512); // 인스턴스 nb.game 에 매개변수(인자) 512를 넘겨 메소드를 실행한 뒤 리턴값을 받아 result에 저장 System.out.println("노트북의 메모리:"+result); // 반환된 result 변수를 프린트 } }
5. 결과
자바에서 클래스와 메소드는 가장 많이 사용되며 기본중에 하나입니다.
기본 문법과 마찬가지로 매우 중요하니 꼭 숙지해 두시기 바랍니다.