클래스와 객체
JAVA의 정석 읽으면서 정리
클래스와 객체를 쉽게 이해하기 위해 드는 예시가 있는데 바로 클래스는 제품 설계도이고 객체는 제품이다. 예를 들면, TV설계도(클래스)는 TV라는 제품(객체)을 정의한 것이며, TV(객체)를 만드는데 사용된다.
클래스 | 객체 |
제품 설계도 | 제품 |
붕어빵 기계 | 붕어빵 |
우리가 TV를 보기 위해서는 TV(객체)가 필요한 것이지 TV설계도(클래스)가 필요한 것은 아니며, TV설계도(클래스)는 단지 TV라는 제품(객체)을 만드는데만 사용될 뿐이다. 하지만 TV설계도(클래스)를 만드는 이유는 TV 설계도 없이 TV를 만들기 위해서는 어렵기 때문이다.
객체와 인스턴스
결론적으로 인스턴스와 객체는 같은 의미지만, 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖고 있고, 인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조하는 보다 구체적인 의미를 가지고 있다. 예를 들면 ‘책상은 인스턴스다.’라고 하기 보다는 ‘책상은 객체다.’라는 쪽이, ‘책상은 책상클래스의 객체이다.’라고 하기 보다는 ‘책상은 책상 클래스의 인스턴스다.’라고 하는 것이 더 자연스럽다.
즉 인스턴스와 객체는 같은 말이다!!!!!!!!!!!!! 초보자들 구분 하지마… 머리아파.. 나중에 구분해..
메서드
메서드(method)는 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것이다. 수학의 함수와 유사하며, 어떤 값을 입력하면 이 값으로 작업을 수행해서 결과를 반환한다. 예를 들어 제곱을 구하는 메서드에 2를 넣으면 4를 반환한다.
메서드를 “블랙박스”라고도 하는데 내부적으로 어떤 과정을 거쳐 결과를 만들어내는지 전혀 몰라도 되기 때문이다. 즉 메서드에 넣을 값(입력)과 반환하는 값(출력)만 알면 되는 것이다. 예로 println 메서드 역시 내부적으로 어떻게 동작하는지 몰라도 사용하는데 아무런 도움이 없었다.
메서드를 사용하는 이유
- 높은 재사용성(한 번 만들어 놓으면 메서드는 몇 번이고 호출할 수 있음)
- 중복된 코드의 제거
- 프로그램의 구조화
메서드 선언하는 방법
반환타입 메서드이름 (타입 변수명, 타입 변수명, … ) { //메서드 호출시 수행될 코드 } |
Ex)
int add(int a, int b) { int result = a + b; return result; //호출한 메서드로 결과를 반환한다. } |
'JAVA' 카테고리의 다른 글
190329 (0) | 2019.03.28 |
---|---|
[JAVA] Scanner, 형변환, 연산자, if문 (0) | 2019.03.28 |
[JAVA] Star Craft 만들기 (0) | 2019.02.22 |
자바 생성자 (0) | 2019.01.29 |
자바 기초 관련 (JVM, JDK, API, Main 메소드) (0) | 2019.01.29 |
댓글