반응형
인스턴스?
클래스(설계도)에 따라 만들어진 제품(객체).
위와 같이 입력값의 합과 평균을 구할 수 있는 코드가 있다.
지금은 괜찮지만 프로그램이 커지고 코드가 복잡해진다는 상상을 해보았을 때
다른 누군가가 변수(left, right), 메소드(sum, avg)가 다른 의미로 사용할 수가 있고 버그로 이어진다.
이 문제를 해결하기 위해 위의 코드에서 변수로 상징되는 데이터, 연산으로 상징되는 메소드를
서로 연관되어 있는 것들끼리 그룹핑하는 객체지향의 개념이 탄생되다.
인스턴스, new
코드를 위와 같이 바꿔주었습니다. 이제 main메소드 안에 있는 new라는 코드를 살펴보겠습니다.
Calculator 객체를 생성해서 변수 c1에 담아 구체적인 객체를 만드는 행위를 인스턴스라고 합니다. * 데이터형은 객체의 이름을 가지고 있어야 한다. * 객체는 프로그램 안에 있는 변수와 메소드들의 집합이다. (프로그램 안에 있는 작은 프로그램) |
맨 위에서 설명했다시피 인스턴스는 클래스 설계도(class Calculator)에 따라 만들어진 제품 객체(new calculator)이다.
class Calculator의 { } 안쪽에 있는 것이 new Calculator의 설계도이다.
this
|
우리는 class를 한번 정의했지만 new라는 연산자를 통해서 원하는 데로 변수에다가 class를 통해 만들어진 인스턴스를 담아서 인스턴스를 세팅하고 메소드를 호출해서 작업을 할 수 있다.
반응형
'IT > JAVA' 카테고리의 다른 글
[JAVA/자바] 객체지향 프로그래밍 - 클래스, 캡슐화, 다형성, 상속,추상화 (0) | 2022.11.06 |
---|---|
[JAVA/자바] 유효범위 - 전역변수, 지역변수 (0) | 2022.11.06 |
[JAVA/자바] 생성자, 초기화 (0) | 2022.11.06 |
[JAVA/자바] 인자와 매개변수의 차이 (0) | 2022.11.06 |
[JAVA/자바] toString() 과 String.valueOf()의 차이 (0) | 2022.11.06 |
댓글