<Java 온라인스터디>-(5) 클래스

3178 단어 JavastudyJava

목표

  • 자바의 Class에 대해 학습하세요.

학습할 것 (필수)

  • 클래스 정의하는 방법
  • 객체 만드는 방법 (new 키워드 이해하기)
  • 메소드 정의하는 방법
  • 생성자 정의하는 방법
  • this 키워드 이해하기

1. 클래스 정의하는방법

클래스(class)란 OOP의 추상화(abstraction)라는 개념을 직접 구현한것이라고 할수있다.
Java에서 개발자의 편의를 위해 유용한 클래스를 미리 정의하여 제공하고있고, 또는 개발자가 직접 원하는 동작을하는 클래스를 작성할수도있다.

선언방식은 다음과 같다

접근제어자 class 클래스이름 {
접근제어자 필드1타입 필드1이름;
접근제어자 필드2타입 필드2이름;

접근제어자 메소드1의 원형
접근제어자 메소드2의 원형
}

ex )

public class Car{
	private String modelName;
   	private int modelYear; ..   
>         public void brake(){}  //메서드
}

2. 객체 만드는방법 (new 키워드 이해하기)

new연산자란?
클래스타입의 인스턴스(객체)를 생성해주는 역할을한다.
객체이므로 힙영역에 저장공간을 할당받을것이고.
그 공간의 주소값을 객체변수 a에게 반환해주고 생성자를 호출하게된다.

Book book = new Book();

(자료형) (참조값을저장하는 변수) = (힙메모리에 할당 + 인스턴스 생성+ 객체로참조값리턴) (생성자호출);
이라고 볼수있다.

3. 메소드 정의하는방법

메소드란 특정기능을 정의한 코드들의 집합이다.

메소드는 다음과 같은 형식으로 정읳나다.

접근제어자 리턴타입 메소드이름(파라미터) {
return 반환값;
}

  • 반환값이 있을경우 반환타입을 정의해주어야하며 반환타입을지정할경우 반드시 반환값은 타입과 일치해야한다. , 반환값이 없는경우에는 void로 지정한다.
  • 메소드 이름을 정의하는데 보통, 메소드의 기능을 표현하는 이름으로 이름지어준다.
  • 파라미터는 0개부터 여러개까지 지정가능하다

왜써야하는가

  • 코드의중복을 좀더 가독성높일수있게끔 사용할수있다
  • 기능의 한부분을 묶어 메소드네이밍을 해서 내가아닌 남이봤을때도 코드를 볼떄 쉽게 볼수있다.
  • 수정해야할 부분이 생기면 그 메소드를 찾아가면된다.

4.생성자 정의하는 방법

객체를 생성할떄 초기화할수있는 기능을 제공하는데 이를 생성자라고한다.

특징

  • 생성자는 클래스명과 동일해야한다
  • 개발자가 생성자를 구현하지않아도 객체생성시 디폴트 생성자가 생성됨(빈껍데기)
  • 생성자가 호출되는 시점 = 객체를 생성하기위해 new 연산자를 사용할때이다.

5. this키워드 이해하기

this키워드는 이 클래스를 기반으로 생성된 인스턴스를 가리키는 참조이다.

참조 : http://tcpschool.com/java/java_class_declaration
https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=heartflow89&logNo=220955262405
https://codehouse.tistory.com/19

좋은 웹페이지 즐겨찾기