본문 바로가기

Etc../SWExpertAcademy

[Java Programming] 객체지향 핵심 원리(2)

클래스의 구조

■ 클래스의 선언

클래스의 선언부와 몸체로 나뉘고 몸체에는 클래스의 멤버가 선언된다.

클래스 멤버 구성

  • 생성자(Constructor) : 객체의 초기화를 담당
  • 멤버 변수(Variable) : 클래스가 가지는 속성을 정의
  • 메서드(Method) : 클래스가 가지는 데이터를 조작하고 반환



클래스 Modifier

  • 접근 권한 예약어 : public, protected, private, (default)
  • 활용 방법 예약어 : final abstract, static, transient, volatile, syncornized, native



객체 생성

Car Yellow;
Yellow = new Car();
  • new예약어를 사용하여 객체가 사용할 메모리 영역 할당
  • 생성된 객체에 대한 참조값이 선언된 객체 참조 변수에 할당



멤버 변수의 선언

[modifier] 데이터타입 변수이름;
  • modifier : 변수에 대한 접근권한이나 활용 방법 제어
  • modifier 미지정 시 같은 패키지 내의 클레스에서만 접근이 가능한 객체 변수

Modifier 설명
public 모든 클래스에서 접근이 가능함을 의미
protected 동일 패키지에 속하는 클래스 또는
하위 클래스 관계의 클래스에 의해 접근이 가능하다는 의미
private 변수가 선언된 클래스 네에서만 접근이 가능함을 의미
final 변수를 상수로 이용하는 경우 사용 ( 변경이 불가능함을 의미 )
static 클래스에 소속된 클래스 변수를 의미
일반적으로 클래스 변수라고 함.


종류 클래스 하위 클래스 동일 패키지 모든 클래스
private O X X X
(default) O X O X
protected O O O X
public O O O O

접근 제한자를 통해 정보 은닉 구현 가능



메서드 정의하기

  • 메서드 시그니쳐(Signature) : 반환형, 메서드명, 매개변수

메서드 구성요소

요소 설명
접근 제한자
(Access Modifier)
접근 제한 시 사용되는 키워드, 생략 가능(default)
반환형
(Return_type)
메서드가 수행되고 결과로 리턴되는 타입
기본형, 참조형 모두 올 수 있으며 리턴값하지 않으면 void로 선언
메서드명 식별자(Identifier)의 규칙에 따라 프로그래머가 명시
매개변수
(Parameter)
메소드 수행 시 전달되는 인자의 타입과 변수명으로 존재
각 인자는 쉼표로 구분, 인자를 갖지 않으면 '()'를 빈 채로 둠


메서드 Modifier

  • 접근 권한 : 멤버변수와 동일
  • 활용 방법
Modifier 설명
final Overriding이 불가능한 메서드를 정의할 때 이용
static 클래스에 소속된 클래스 메서드를 의미, 클래스 생성 시 만들어짐
abstract 추상 메서드를 의미, 하위 클래스에 의해 구현됨
synchronized Thread의 동기화를 위한 메서드

접근관련 Modifier를 이용해 정보 은닉 구현 가능



메서드의 자동 구현 <Eclips 한정>

  • 멤버 변수들은 대부분 private로 선언해서 외부에서는 숨겨진 형태로 만듦
  • Getter / Setter 메서드를 이용해 접근할 수 있도록 클래스를 구현
  • Getter / Setter 자동 구현: Alt + Shift + S -> Generate Getters and Setters
  • toString() 메서드 자동 구현 : Alt + Shift + S -> Generate toString();







[참고] : SWExpertAcademy