- 객체(Object)와 클래스(Class)
자바는 모든 것들이 클래스 위주로 돌아갑니다.
이 클래스라는 개념을 잘 알아야 자바 프로그래밍을 잘 이해 하실 수 있습니다.
클래스를 한마디로 말하면 '객체를 정의해논 것.' 이라고 말할 수 있을 것 같습니다.
조금 풀어서 말해보면, 클래스는 '연관되는 변수와 메소드의 집합' 이라고 얘기 할 수 있습니다.
더~ 쉽게 얘기해보면
붕어빵 틀 -> 클래스
붕어빵 -> 객체
입니다.
즉, 클래스는 객체를 만드는 설계도 역할을 합니다.
그럼, 객체는 대체 무었이냐...? 붕어빵 이다!!
우리가 주변에서 보는 컴퓨터, 자동차, 의자, 붕어빵 등 모든 것이 객체 입니다.
프로그래밍에서는 클래스에 정의된 내용대로 메모리에 생성되는 것을 객체 라고 말합니다.
여기서 객체를 생성하기 위한 new 라는 키워드를 간단히 설명 드리겠습니다.
여기서 저는 Animal이라는 클래스를 만들고 cat이라는 객체를 하나 생성하였습니다.
객체를 생성 할떄는 8번 라인처럼 사용합니다.
저기 8번라인을 더 풀어서 얘기하면
Animal클래스타입의 변수 cat을 만들고 new 키워드를 이용해 메모리를 할당 한겁니다. 이것을 조금 멋져보이게( 원래 표현을 이렇게합니다...) 인스턴스화 라고 합니다.
new 옆에 있는것을 생성자 라고 하는데요. 이 생성자는 클래스와 이름이 같습니다. 그래서 파라미터 가 없는 메소드를 호출하듯이 쓰시면 됩니다.
생성자는 조금 더 공부한 뒤 알아보도록 하겠습니다.
2. 메소드(Method)
메소드란 클래스 안에 있는 함수를 의미 합니다.
즉, 어떠한 작업을 수행하기 위한 명령문들을 의미하는 겁니다.
경우에 따라서는 입력 받는 값이 없을 수도 있고, 결과를 반환하지 않는 경우도 있습니다.
메소드는 아래와 같이 생겼습니다.
그러면 메소드가 정상종료 되는 경우는 어떤 때 일까요?
- 메소드 블럭 안에 마지막 문장까지 다 실행 했을경우.
- 메소드 블럭 안에서 return문을 만났을 경우.
이렇게 두가지의 경우가 있습니다.
return문은 현재 실행중인 메소드를 종료하고 자신을 호출한 곳으로 돌아가게 합니다.
그런데 제가 위에서 반환값이 없는 경우도 있다고 했습니다.
즉, 반환값이 없을경우는 return;
반환값이 있는 경우는 returb 반환값;
이렇게 적어주어야 합니다.
* 없을 경우는 생략이 가능합니다.
반환값이 있는 경우는 반드시 메소드의 리턴타입과 일치해야 합니다. 여기서 우리는 데이터타입에 대해 알 필요가 있습니다.
이 부분은 다음 포스팅에서 공부하겠습니다.
예를 하나 보여드릴께요.
위의 메소드는 두 개의 정수를 더하는 메소드 입니다.
두 정수를 더하여 result 변수에 저장하고 result를 반환합니다.
이 메소드의 리턴타입은 int 이므로 반드시 반환 타입은 int여야 한다는 얘기입니다.
이제 채널조정과 볼륨조정만 되는 TV 리모콘을 한번 만들어 보겠습니다.
'프로그래밍 > Java' 카테고리의 다른 글
[Java] 8. 변수(Variable)_형변환 (0) | 2015.02.27 |
---|---|
[Java] 7. 변수(Variable) (0) | 2015.02.24 |
[Java] 5. Class 작성시 주의할 사항!! (1) | 2015.02.21 |
[Java] 4. Hello, World~ (0) | 2015.02.19 |
[Java] 3. Java프로그래밍 환경 구축하기 - Eclipse 설치 (0) | 2015.02.18 |