프로그래밍/Java

7. [Java] Class 개념 + 사용 방법(feat. eclipse) - 코딩도치

코딩도치 2019. 11. 25. 22:15
반응형

안녕하세요. 코딩도치 입니다~

 

오늘은 Class에 대해서 알아보고 실습까지 진행해보도록 하겠습니다!

 

1. Class란

 

앞서 객체 지향 프로그래밍에 대해서 포스팅을 했었습니다.

 

객체 지향 프로그래밍에 대한 이해가 선행되어야 Class라는 것을 쉽게 받아들일 수 있기 때문에,

 

먼저 객체 지향 프로그래밍에 대해서 보고 오시는 것을 추천드립니다~

 

2019/11/18 - [프로그래밍/Java] - 5. [Java] 객체 지향 프로그래밍(OOP)란 무엇인가 - 코딩도치

 

5. [Java] 객체 지향 프로그래밍(OOP)란 무엇인가 - 코딩도치

안녕하세요. 코딩도치 입니다~ 오늘은 객체 지향 프로그래밍(OOP)에 대해서 알아보려고 합니다! OOP(Object Oriented Programming) : 객체 지향 프로그래밍 객체 지향 프로그래밍은 프로그램을 만드는 여러 가지..

codingffler.tistory.com

객체 지향 프로그래밍의 핵심은 역시 객체를 만드는 것이겠죠?

 

객체는 상태와 행동을 가지고 있다고 했었습니다.

 

Class는 만들고자 하는 객체의 상태와 행동을 정의해 놓은 틀입니다. 

 

Class라는 틀을 가지고 객체를 만드는 것이죠. 이해가 되시나요?

 

한 가지 예를 들어드리도록 하겠습니다!

 

붕어빵을 만들기 위해서는 붕어빵 틀이 필요하겠죠?

 

여기서 붕어빵 틀이 바로 Class입니다. 그렇게 붕어빵 틀로 만들어진 붕어빵은 객체가 되는 것입니다.

 

붕어빵 틀에 팥을 넣으면 팥 붕어빵이 만들어지겠죠? 슈크림을 넣으면 슈크림 붕어빵이 만들어질 것입니다.

 

이때 붕어빵 틀에 변화가 있나요? 아니요 없습니다!

 

서로 다른 붕어빵을 만들기 위해서 새로운 붕어빵 틀이 필요하지는 않습니다.

 

마찬가지로 저희는 하나의 Class를 이용하여 여러 속성을 가지는 객체를 만들 수 있습니다.

 

따라서 Class를 하나 잘 정의해 놓으면 생산성이 매우 향상될 수 있습니다.

 

자, 그러면 직접 Class를 만들어 보면서 Class에 대해서 이해해 볼까요?

 

저는 지난번에 package를 만들었던 프로젝트에 이어서 실습을 해보도록 하겠습니다.

2019/11/21 - [프로그래밍/Java] - 6. [Java] Package 개념 + 사용 방법(feat. eclipse) - 코딩도치

 

6. [Java] Package 개념 + 사용 방법(feat. eclipse) - 코딩도치

안녕하세요. 코딩도치 입니다~ 오늘은 package에 대해서 알아보고 직접 만들어 보는 실습까지 하려고 합니다! 1. package란 package : 꾸러미 package의 뜻은 ~꾸러미인데요, Java에서 package는 class꾸러미를 의..

codingffler.tistory.com

2. Class 생성

저번 포스팅에서 package를 생성하였기 때문에, 프로젝트를 여시면 위와 같은 구조를 확인하실 수 있을 것입니다.

 

package는 관련 있는 Class들을 모아 놓는 폴더와 같다고 말씀드렸었죠?

 

좀 더 명확한 package와 Class의 사용법을 익혀보기 위해서 package를 하나 더 만들어 주도록 하겠습니다.

저는 codingdoci.example.sub라는 package를 하나 더 만들어 주었습니다.

 

이제 Class를 만들어 볼까요?

 

먼저 main package위에서 마우스 우클릭을 해주세요.

New > Class 메뉴 클릭하시면 Class 생성 팝업창이 나오게 됩니다.

 

여기서 Class의 이름을 설정해주게 됩니다.

 

Class의 이름은 생성하고자 하는 객체를 명확하게 표현할 수 있는 단어가 좋습니다.

저는 Main이라는 Class 이름을 지어 주었습니다.

 

그리고 public static void main(String[] args) 체크박스에 체크를 해주었습니다. 

 

객체를 명확하게 표현할 수 있는 단어가 좋다고 해놓고 Main이라니, 무슨 객체를 만들려는 것인지 모르시겠죠?

 

당연합니다. Main에 관해서는 다음 시간에 설명을 드릴 테니 일단 그대로 따라와 주세요!

 

이렇게 Main이라는 Class가 main package 안에 생성되었습니다!

 

Class를 생성할 때 체크해주었던 public static void main(String[] args) 라는 것이 소스에 포함이 되어있네요!

 

이번에는 sub package에 클래스를 생성해 보도록 하겠습니다.

 

저는 사람 객체를 만들 것이기 때문에, 이번에는 Class 이름을 명확하게 Person이라고 지어주었습니다.

 

이번에는 public static void main(String[] args)에 체크하지 말아 주세요!

 

이렇게 sub package안에 Person Class도 잘 만들어졌습니다. 

 

생성할 때 public static void main(String[] args)에 체크를 하지 않아서,

 

Person Class에는 해당 소스가 없는 것을 확인할 수 있습니다.

 

앞으로 실습의 이해를 위해서,

 

Main Class에 있는 main함수가 바로 프로그램을 실행시켰을 때 소스가 시작되는 부분이라고 생각을 해주시면 됩니다!

 

이제 Class 사용하기 위해서, Class 내부를 구성해줄 필요가 있겠죠?

 

Person Class를 구성해 보도록 하겠습니다.

Class는 생성하고자 하는 객체의 상태와 행동을 담고 있어야 합니다.

 

저는 위와 같이 name변수를 이용해서 사람의 이름(상태)을 표현했고(저는 코딩도치 라는 이름을 설정하였습니다~),

 

printName()이라는 메서드(함수)를 작성해서 이름을 출력하는 행위를 표현했습니다.

 

이제 Main Class에서 Person 객체를 생성하여 이름을 출력해보도록 하겠습니다!

Main Class의 main 메서드(함수) 안에 위와 같이 작성을 해주시면 됩니다.

 

Person me = new Persion() 이 실행되면 me라는 사람(Person) 객체가 생성되게 되는 것입니다.

 

이때 우리는 Person이라는 Class를 바로 사용할 수 없습니다.

 

Person이라는 Class가 어느 위치에 있는, 어떤 역할을 하는 놈인지 그냥은 알 수가 없기 때문입니다.

 

그래서 우리가 사용하고자 하는 Person이라는 객체가 무엇인지 명시를 해줘야 합니다.

 

그렇게 명시하는 방법이 위에서 보시는 봐와 같이 import입니다.

 

import 패키지. Class명을 해줌으로써 저희는 Person이라는 객체가 정확히 무엇인지 알려줄 수 있는 것입니다.

 

codingdoci.example.sub 패키지 안에 있는 Person Class는 유일하니까요(단 하나 존재)!

 

Person Class에 작성한 printName() 메서드(함수)를 이용해서 me라는 사람(Person) 객체의 이름을 출력할 수 있습니다.

 

객체. 메서드명 = me.printName()과 같이 작성하여 메서드(함수)를 사용할 수 있습니다.

초록색 실행 버튼을 클릭하여 위 소스를 실행할 수 있습니다.

실행 결과 eclipse 아래쪽 console창에 Person Class에 설정한 이름 '코딩도치'가 출력되는 것을 확인할 수 있습니다. 

 

Class라는 것에 대해서 조금은 아시겠나요?

 

Class의 사용법에 대해서는 아직 훨씬 더 많은 내용이 있습니다.

 

다음 시간에도 Class 사용법(생성자)에 대해서 이어가도록 하겠습니다!

 

감사합니다.

반응형