-
18- 생활코딩 자바강의 정리(초기화와 생성자)TIL 2023. 2. 1. 23:04
[목차]
- 초기화
- 생성자
초기화
- 어떤 일을 시작하기 전에 준비를 하게 되는 것을 초기화라고 합니다.
// 인스턴스 생성 Calculater c1 = new Calculater(); // 선행되서 실행되야합니다. // 이 절차가 숙지해야할 대상이기 때문에 c1이라는 클래스의 사용법을 모르는 사람이라면 // setOprands를 실행하지 않고 sum,avg만 실행할 수 있습니다. // 사용방법이 복잡하며 사용자가 실수할 가능성이 있습니다. c1.setOprands(10,20); // 인스턴스의 합계 c1.sum(); // 인스턴스의 평균 c1.avg();
생성자
- 초기화에 해당하는 기능이 제공되는데 이것을 생성자라고 합니다.
- 사용방법이 복잡하며 잘못된 사용으로 오류가 발생할 확률이 높이는 결과를 초래할 때 그것을 막기 위해
사용하는 것이 생성자 입니다. - class이름과 같은 메소드가 생성되어 있다면 어떤 메소드보다 먼저 실행됩니다.
- 값을 반환하지 않습니다.
- 생성자의 이름은 클래스의 이름과 동일합니다.
// left와 right값을 강제로 세팅하기(10,20) Calculater c1 = new Calculater(10, 20); // 결과값: 30 c1.sum(); // 결과값: 15 c1.avg();
class Calculater { int left, right; // class와 똑같은 이름으로 선언된 메소드가 있습니다. // 파라미터에 left, right가 있습니다. // this를 사용해서 int left right 사용 // class랑 같은 이름의 메소드란: 생성자라고 합니다 // 생성자의 역할 class가 생성될 떄 자동으로 class와 똑같은 이름을 가지고 있는 // 생성자가 실행되도록 약속되어 있습니다. // 이 생성자는 어떤 메소드보다 먼저 실행됩니다. public Calculater(int left, int right) { this.left = left; this.right = right; } public void sum() { System.out.println(this.left + this.right); } public void avg() { System.out.println((this.left + this.right) / 2); } } public class CalculaterDemo1 { public static void main(String[] args) { // TODO Auto-generated method stub Calculater c1 = new Calculater(10, 20); c1.sum(); c1.avg(); Calculater c2 = new Calculater(20, 40); c2.sum(); c2.avg(); } }
- class이름과 같은 메소드가 없을 떄
- class이름과 같은 메소드가 존재하지 않을 때 Calculater라고 하는 메소드를 자동으로 만들어줍니다.
class Calculator { static double PI = 3.14; int left, right; public void setOprands(int left, int right) { this.left = left; this.right = right; } public void sum() { System.out.println(this.left + this.right); } public void avg() { System.out.println((this.left + this.right) / 2); } } public class CalculatorDemo1 { public static void main(String[] args) { // 클래스가 아니라 클래스의 생성자 입니다. // 생성자(인자) 생성자를 더욱 명확하게 해준다고 할 수 있습니다. // Calculater(10,20)이 클래스가 아닌 생성자라고 합니다. Calculator c1 = new Calculator(); System.out.println(c1.PI); Calculator c2 = new Calculator(); System.out.println(c2.PI); System.out.println(Calculator.PI); } }
'TIL' 카테고리의 다른 글
19 - 생활코딩 자바강의 정리(상속과 생성자) (1) 2023.02.06 19 - 생활코딩 자바강의 정리(상속) (0) 2023.02.02 17- 생활코딩 자바강의 정리(유효범위) (0) 2023.01.31 16 - 생활코딩 자바강의 정리(클래스 맴버, 인스턴스 맴버) (0) 2023.01.30 15 - 생활코딩 자바강의 정리(객체지향 클래스,인스턴스) (0) 2023.01.29