ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 18- 생활코딩 자바강의 정리(초기화와 생성자)
    TIL 2023. 2. 1. 23:04

    [목차]

    1. 초기화
    2. 생성자

    초기화

    • 어떤 일을 시작하기 전에 준비를 하게 되는 것을 초기화라고 합니다.
    // 인스턴스 생성
    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);
     
        }
     
    }
Designed by Tistory.