<JAVA> 메서드와 멤버변수

빡찌's avatar
Sep 14, 2024
<JAVA> 메서드와 멤버변수
*메서드 구분 기준
  1. 이름
  1. 파라미터(갯수, 타입, 순서)
-return 은 구분 기준이 되지 않는다.

메서드 오버로딩

: 클래스 내부에 이름이 같은 메서드가 존재 가능하다.
 

생성자(constructor)

: 객체를 생성하고 나서 초기화 작업들이 계속 반복되는 문제를
‘소거’ 하는 목적으로 만들어진다.
  1. 객체의 초기화(사용하기 위한 준비)
  1. 이름이 클래스 이름과 같아야한다
  1. 리턴이 존재하지 않는다
  1. 객체를 생성할 때만 사용 할 수 있다.
    1. = 생성자가 생성된다 = 객체가 생성된다.
       
  • 클래스 안에 생성자가 없는 경우엔 컴파일러가 파라미터 없는
    • 기본 생성자’를 만들어 준다.
  • 강제성을 가질 수 있다.
    • 생성자 파라미터로 값을 고정시켜 놨기 때문이다.
  • 메서드는 생성자와 다르다!
    • >>> 생성자는 리턴이 존재하지 않는다.
  • 생성자 오버로딩이 가능하다!
    • >>> 이름은 클래스 이름으로 고정되어 있기 때문에 파라미터로 구분함
  • 생성자의 갯수는 객체를 만들어 낼 수 있는 수
 

멤버변수

  • 멤버변수는 초기값이 있기 때문에 정의를 하지 않아도 에러가 나지 않음
  • boolean을 제외한 기본 데이터는 다 0이 들어가고
    • boolean은 false가 기본으로 들어간다.
  • 모든 참조형은 null이 초기값으로 들어간다.
    • >> null : 나타내는 주소가 없는 것을 표현
 

에러(error) : 결함

1) 컴파일 에러

: 문법적 결함(오타) > 고치기 가장 쉽다..

2) 실행 중 에러

3) 논리적 에러

: 컴파일도 되고 실행도 되지만 원하는 값이 안나왔을 때
>> 어디가 틀린건지 나오지 않음

즉 컴파일 자주 해보기,,

 

this

  1. 객체 자신의 주소값을 나타내는 키워드
    1. System.out.println(this.num);
 

접근제어(멤버변수, 메서드, 생성자, 클래스)

1) private - 객체 자신만 접근 가능

2) 생략 - 동일한 패키지만 접근 가능

3) protected - 상속 관계만 접근 가능

4) public - 제한 없음

 
  • private나 public이 99.9% 사용된다.
 
  • 클래스, 생성자, 메서드는 특별한 경우를 제외하곤 public
    • >> 메서드는 호출이 되어도 변경이나 훼손이 되지 않기 때문에
      지킬 필요가 없다
  • 멤버변수는 특별한 경우를 제외하곤 private
 
Share article

prettytree