Languages/Java

클래스

개발자 나르 2021. 7. 12. 22:41
반응형

클래스

자바에서 클래스란 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용된다.

자바는 객체 지향 프로그래밍인데 특징들로는 캡슐화 / 상속 / 다형성 이 있다.

 

캡슐화

객체의 필드,메소드를 하나로 묶고, 실제 구현 내용을 감추는 것.

외부 객체는 객체 내부의 구조를 알지 못하며 객체가 노출해서 제공하는 필드와 메소드만 이용할 수 있다.

이것을 접근 제한자(public, protected , default , private)을 사용해서 어느정도 노출을 할 것인지 결정할 수 있다.

이 캡슐화를 사용하여 필드와 메소드를 보호할려는 이유는 외부의 잘못된 사용으로 인해 객체가 손상되지 않도록하기 위함이다.

 

상속

일반적으로 상속은 부모가 가지고 있는 재산을 자식에게 물려주는 것을 말한다.

자바에서는 부모역할인 상위객체와 자식역할인 하위객체로 나뉘는데 상위 객체가 자기가 가지고 있는 필드와 메소드를

하위객체에게 물려주어 하위객체가 사용할 수 있도록 해주는 것을 말한다.

상속을 사용하는 이유는 객체를 재사용해서 새로운 객체를 만들기 때문에 반복된 코드의 중복을 줄여주기 위함이다.

 

다형성

다형성은 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질을 말한다.

코드 측면에서는 다형성은 하나의 타입에 여러 객체를 대입함으로써 다양한 기능을 이용할 수 있도록 해준다.

 

 

객체(Object)

객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른 것과 식별 가능한 것

객체는 쉽게 속성과 동작이라고 실생활에서 생각하면 편한대, 속성은 필드(field) 동작을 메소드(method)라고 부른다.

 

객체생성

클래스로부터 객체를 생성하는 방법은 new 연산자를 사용한다.

 

기본식

클래스이름 변수이름 = new 클래스이름();

 

 

클래스 선언

클래스를 선언하는 방법

1.하나 이상의 문자열로 이루어져야한다. (첫글자를 대문자로 주고 단어마다 첫글자를 대문자로 적어 구분을 시켜준다.)

2. 첫번째 글자는 숫자가 올 수 없다.

3. 특수문자는 $ _ 외의 사용할 수 없다.

4. 자바 키워드는 사용할 수 없다.

 

기본식

public class 클래스이름 { } - 파일이름과 같을 시에만 public을 써준다.

class 클래스이름 { } - 파일이름과 다른 클래스를 생성할 시에는 public을 써주지 않는다.

 

클래스의 구성 멤버

클래스에는 객체가 가져야 할 구성 멤버가 선언된다.

필드(객체의 데이터가 저장되는 곳) , 생성자(객체 생성 시 초기화 역할 담당) , 메소드(객체의 동작에 해당하는 실행 블록)

 

필드

필드는 객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳이다. 선언형태는 변수와 비슷하지만, 필드를 변수라고 부르지 않는다.

필드는 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체와 함께 존재한다.

 

생성자

객체 생성 시 초기화를 담당한다. 필드를 초기화하거나, 메소드를 호출해서 객체를 사용할 준비를 한다.

생성자는 메소드와 비슷하게 생겼지만, 클래스 이름으로 되어 있고 리턴타입이 없다.

 

메소드

메소드는 객체 간의 데이터 전달의 수단으로 사용된다.

 

더보기

ex)

public class ClassName {

     int fieldName;     //필드

     ClassName() {}     //생성자

     void methodName() {}     //메소드

}

반응형