[JAVA] 클래스의 구조

logg·2021년 1월 2일
0
post-thumbnail

1. 클래스의 구조와 객체 생성

1-1. 클래스의 구조

  • 클래스의 선언

    • 클래스의 선언부와 몸체로 나뉘고 몸체에는 클래스의 멤버가 선언됨
    • 클래스 멤버 구성
      - 객체의 초기화를 담당하는 생성자(Contributor)
      - 클래스가 가지는 속성을 정의하는 멤버 변수(Variable)
      - 클래스가 가지는 데이터를 조작하고 변환하는 메서드(Method)

  • 클래스 Modifier

    • 접근 권한 예약어
      • public = 모든 클래스에서 접근이 가능한 클래스임을 의미
    • 활용 방법 예약어
      • final = 자식 클래스를 가질 수 없는 클래스임을 의미
      • abstract = 객체 생성이 불가능한 추상클래스를 의미
  • 클래스의 UML 표기법

    • 소프트웨어 개념을 다이어그램으로 그리기 위해 사용하는 시각적 표기법
    • 객체지향 프로그램을 시각화하고 시스템 사양이나 설계를 문서화

1-2. 객체 생성

  • 특정 클래스 유형의 객체 참조 변수 선언
  • 그리고 객체 생성 진행
    • 객체가 사용할 메모리 영역을 할당하는 과정 -> 예약어 new 사용
  • 멤버 변수의 선언

    • 전역(Global) 변수
      • 클래스 선언부 밑에 선언된 변수로 멤버 변수라고 칭함
      • 여러 메서드에서 공통으로 사용할 수 있음
  • 지역(Local) 변수

    • 메서드 선언부 밑에 선언된 변수
    • 해당 변수가 선언된 메서드 내에서만 사용할 수 있음
  • 접근 제한자

    • 접근 제한자란 클래스, 변수, 메서드에 접근할 수 있는 권한을 나타내기 위해 사용됨

2. 멤버 메서드

2-1. 멤버 변수

  • 메서드 정의하기
    • 일종의 함수로서, 클래스가 제공할 로직들을 정의함
    • 메서드 앞에 접근 제한자를 붙일 수 있음
    • 메서드의 수행 결과를 리턴할 수 있도록 반환형으로 선언해야 함
      • 리턴값이 없을 시 void로 선언해주면됨

2-2. 메서드

  • 유형별 메서드

    • a. 리턴 값과 매개변수가 없는 메서드
      • 메서드의 기능이 외부로부터 받아들일 데이터가 필요없는 경우, 매개변수가 없는 메서드로 선언함
      • 리턴할 데이터가 없는 경우, void 예약어로 리턴 타입을 지정하면 됨

    • b. 리턴 값은 없고 매개변수만 있는 메서드
      • 매개변수 정보만 받아서 로직을 처리하고 아무 것도 리턴하지 않는 경우

    • c. 리턴 값도 있고 매개변수도 있는 메서드
      • 매개변수로 받은 데이터를 이용하여 적절한 로직을 처리하고, 처리 결과를 메서드가 호출될 곳으로 되돌려주면 됨

  • 메서드의 자동 구현

    • 멤버 변수들은 대부분의 경우 private로 선언해서 외부에서는 숨겨진 형태로 만듬

    • public으로 지정한 메서드를 통해 접근하도록 클래스를 구현함 (정보은닉의 기본)

    • private 변수에 저장된 값을 리턴하는 Getter 메서드

    • private 변수에 값을 저장하는 Setter 메서드

      출처: SWEA사이트

profile
logg

0개의 댓글