-
[JAVA]클래스와 메소드기초/JAVA 2017. 1. 18. 17:41
이제 진짜 객체지향과 소스정리를 하는법을 배워보겠습니다.
객체지향
실제 사물의 특성을 분석한 다음 데이터(변수)와 함수로 정의하면서
실제 세계를 가상 세계로 구현하면서 가상세계에서의 실험을 통해 많은 비용과 시간을 절감할수 있었습니다!
그러면서 추상화, 상속, 캡슐화 개념을 잡아놓게 되었습니다.
저희는 그냥 만들어 놓은것을 그대로 사용하기만 하면되요
흐흐..
클래스
[객체]를 만들수 있는 [틀]이라고 표현할께요!
만약 이 [틀] [컴퓨터]라면
입력하는 변수(마우스, 키보드, X-BOX...)
출력하는 변수(모니터, 프린터, 스피커...)
들이 존재할 것이고
이 변수들은 컴퓨터에 대해서 행동들(시작, 종료, 입력, 출력...)을 하게 될텐데
이 것들을 모아서 [클래스]라는 의미라고 표현할 수 있겠네요
그리고 이 클래스를 정의한 다음 구현을 하면 컴퓨터 객체들이 생성 되겠네요!
클래스안에는 클래스이름과 같은 메소드 생성자가 있는데요
생성자는 메소드의 리턴타입이 없어요
이유는 객체가 생성되는 동시에 실행되는 메소드여서 그래요
난 태어나는 동시에 이 행동을 해라는 의미인거에요!
객체 생성
클래스는 하나의 [틀]이니깐
이 틀을 찍어내주는 작업을 객체생성이라고 합니다.
객체 생성 방법
클래스타입 변수이름 = new 생성자();
이렇게 호출 할 수 있습니다.
클래스[틀]에서 찍어낸 객체들은 각각 서로 다른 특성인 것을 꼭 알아두세요.
컴퓨터1 과 컴퓨터2는 RAM, CPU, VGA 모두 다른것처럼
클래스는 찍어내기 위한 틀이지 찍어낸 객체는 서로 다르답니다.
객체1.cpu 와 객체2.cpu 는 다르다구요!
클래스타입
상속에서의 표현인데요!
바로뒤에서 포스팅 하겠습니다!
메소드
프로그램이 하는 행동, 작업들이라고 표현할께요
클래스안에서 할 수 있는 행동들을 따로 표현하는거예요.
위에 클래스에서 설명했듯이 [컴퓨터]클래스에서는 프로그램을 시작, 종료, 관리하는 이런 행동들을 메소드라고 할수있습니다.
<컴퓨터 클래스>
생성자에다가 컴퓨터 입,출력 값들을 넣어 줬구요
이것들이 변수이구요
전원 on/off, 키보드, 모니터 이벤트가 있잖아요?
이것들이 함수(메소드)가 되는 거구요
메소드와 변수들이 모여서 하나의 객체를 찍어낼수 있는 틀이 완성되었으면
이것을 클래스라고 부를수 있답니다.
메인클래스에서 보면
Computer 클래스 타입으로 computer객체를 만들면서
객체에서 start메소드를 생성한것을 볼 수 있습니다.
출력에서보시면 생성자는 객체가 만들어지는 동시에 실행되고
나머지 메소드들은 호출할 떄 실행 됩니다!
접근제한자는 뒤에 포스팅하겠습니다!
'기초 > JAVA' 카테고리의 다른 글
[JAVA] 상속(추상클래스,인터페이스) (2) 2017.01.19 [JAVA]접근제한자 (0) 2017.01.19 [JAVA] 배열 (0) 2017.01.18 [JAVA] 랜덤 (0) 2017.01.18 [JAVA]별찍기 (0) 2017.01.18