[유튜브 강의] (9) 자바 JAVA 기초 강의 - 클래스(class)와 메소드(method)

2018. 7. 16. 09:32[유튜브 강의]- 센치한 개발자/[JAVA] 자바 기초 강의 - 완료

728x90

(9) [센치한 개발자-유튜브 강의] 자바 JAVA 기초 강의 - 클래스(class)와 메소드(method) :: 기초 강의






▶︎ 센치한 개발자 유튜브
강의 구독하기 : https://www.youtube.com/channel/UCvb9oqG4CtZ5H4m_NSD1GYA?sub_confirmation=1


(1) 클래스와 메소드와 객체의 생김새와 개념 이해하기


  • 클래스 : 타코야키 틀

  • 메소드(함수) : 타코야키 틀에 재료 넣기, 굽기, 타지않게 돌리기, 타코야키 꺼내기

  • 객체(Object) : 타코야키 틀에 의해 만들어진 타코야키   


클래스와 메소드, 그리고 객체는 위의 개념으로 사실상 설명이 끝이라고 해도 무방합니다.


메소드의 경우 보통은 특정 기능을 수행하는 함수라는 측면에서 용어나 이해가 어렵지 않은데,


클래스와 객체의 경우에는 둘 간의 차이에 대한 개념 이해가 어려울 수 있습니다.

 


그래서 위의 타코야키를 기준으로 


설명을 난도의 단계별로 해보겠습니다.  4단계까지 이해가 다 되시면 성공입니다~ㅎ




1)  단순히 말로만 설명한 개념

  • 먹을 수 있는 타코야키라는 객체를 계속해서 만들어 내기 위한 "껍데기 틀"이 "클래스"이며,

  • 먹을 수 있는 타코야키라는 객체를 계속해서 만들어 내기 위한 "껍데기 틀"이 "클래스"안에서 요리 (재료 넣기, 굽기, 돌리기, 꺼내기 등) "기능"을 하는 것이 "메소드(함수)" 이고,

  • 먹을 수 있는 타코야키라는 객체를 계속해서 만들어 내기 위한 "껍데기 틀"이 "클래스"안에서 요리 (재료 넣기, 굽기, 돌리기, 꺼내기 등) "기능"을 하는 "메소드(함수)"로 만들어낸 타코야키가 "객체" 



2) 그림으로 보면?

[ 타코야키를 만들어 낼 수 있는 틀인 "클래스" ]


 

[ 타코야키를 만들어 낼 수 있는 '틀'인 클래스를 이용(재료넣기, 굽기)하는 "메소드" ]  


[ 타코야키를 만들어 낼 수 있는 '틀'인 클래스를 이용(굽기)하는 "메소드"를 통해 만들어낸 결과물인 '객체' ] 



3)  수도 코드(말이나 글로 인간의 언어로 평이하게 작성한 코딩)로 코딩하면?


//클래스 틀

class 타코야키 {


private String 타코 = 아직없음;

 

//아래가 메소드(함수)들

public void 재료넣기(재료) {

타코 = "문어가 들어간 " + 타코 ;

}

public void 굽기(불세기) {

타코 = "불로 구운 " + 타코;

}

public void 골고루익도록돌리기(몇번) {

타코 = "잘 구워진 " + 타코;

}

public 타코야키 꺼내기() {

return 타코;

}


public static void main(String[] args) {

타코야키 문어타코 = new 타코야키();      //문어타코 - 객체


문어타코.재료넣기(문어);

문어타코.굽기(강);

문어타코.골고루익도록돌리기(10번);

문어타코.꺼내기();                                    


}

}




4) 실제로 코딩하면?

public class Taco {

public String tacoyaki = null;

public void input(String material) {
tacoyaki = material + "가 들어간 타코야키";
}

public void grill(int firePower) {
tacoyaki = firePower + "단계의 불세기로 굽고 " + tacoyaki;
}

public void roll(int count) {
tacoyaki = count + "번 돌리고 " + tacoyaki;
}

public Taco getTaco() {
return this;
}

public static void main(String[] args) {

Taco taco = new Taco();

taco.input("문어");
taco.grill(3);
taco.roll(10);
System.out.println(taco.getTaco().tacoyaki);
//10번 돌리고 3단계의 불세기로 굽고 문어가 들어간 타코야키

}
}



(2) 객체의 선언과 생성


정리해보자면,


해를 품은 다ㄹ...이 아니고


메소드를 품은 "설계도, 틀, 껍데기"가 "클래스"이며,


이 클래스를 갖다가 써서 나온 "결과물"들이 "객체"라는 것임을 아시겠죠?


그렇다면 클래스를 갖다 써서 객체를 만든다는 걸 코딩으로 하는 부분은 바로 이것입니다. 



Taco taco = new Taco(); 



객체를 만들기 위해서는 2개의 과정이 필요합니다.


"선언"과 "생성"


입니다.



선언은 "이거 한다~?" 라고 말하는 것이고


생성은 실제로 "만드는" 것입니다.



아래의 이미지와 같이 




Taco taco = new Taco();  에서



Taco taco 이 선언,


new Taco(); 이 생성입니다.



 










728x90