티스토리 뷰

Study !/JAVA

JAVA 정리 2. 클래스

저유 2018. 9. 9. 15:59
클래스를 만들어 놓으면 해당클래스로 여러개의 객체를 생성하여 사용할 수 있다.

클래스의 구조
public class ClassName {
  
  int FildName;     //필드
  
  public className() {     //생성자
    
  }
  
  public void methodName(){  //메소드
    
  }
  
}


필드

객체의 데이터를 저장하는 곳으로 변수라고 생각하면된다.


생성자

  • new 연산자로 해당 클래스를 객체로 만들때 호출되어 객체 생성시 초기화를 담당한다.
  • 생성자는 { } 안에서 필드를 초기화하거나 메소드를 호출하거나 한다.
  • 생성자는 클래스 이름과 동일하며, 리턴값이 없다.
  • 생성자는 오버로딩하여 여러개를 만들수 있다.
  • 클래스에 생성자를 코딩해놓지 않으면 컴파일러는 자동으로 Default 생성자(매개변수가 없는 생성자)를 추가시킨다.
  • 단 매개변수가있는 단하나의 생성자가 있다면 컴파일러는 Default 생성자를 생성하지않는다.
public ClassName(){     //Default 생성자
}

//객체 생성시 필드에 값을 넣어주기위해 매개변수로 값을 받아 넣어줄 수 있다.
public ClassName(int num, string name){   //대체로 생성자에서 매개변수 이름은 필드 이름과 동일하게 받는다
  this.num = num;                         //필드명과 매개변수명이 동일하기때문에 this로 구분해서 사용한다.
  this.name = name;
}

메소드

  • { } 부분을 수행하는 역할을 한다. 함수라고 생각하면 된다.
  • 외부로부터 매개값을 받을 수 있고, 실행후 값을 리턴할 수 있다.
  • 로직은 수행하지만 값을 return할 필요가없는 메소드는 리턴타입을 void로 사용할 수 있다.
  • 메소드 안에 변수를 선언 하여 사용할 수 있다. 메소드 안에있는 변수는 { }스코프 안에서만 지속된다.
  • 클래스 내에 같은 이름으로 여러개의 메소드를 생성하는것을 오버로딩이라고 한다. 오버로딩의 조건은 매개변수의 타입, 개수, 순서중 하나 가 달라야한다. 위에 생성자 예시코드에서 두 생성자는 오버로딩이 된것이다. 이름이 같지만 매개변수가 다르다.(단 생성자는 타입과 개수를 다르게 오버로딩 할 수 있지만 순서가 바뀌는것은 허용되지 않는다)
boolean methodName(int x, int y){   // 리턴타입 메소드이름 (매개변수 선언){
  if(x == y){                       //
    return true;                    //    로직
  }                                 //
  return false;                     //    return 값;
}                                   // }


댓글