객체지향언어 (OOP) - 2

DONI·2021년 8월 16일
0

Java

목록 보기
24/46
post-thumbnail

🏹 캡슐화 원칙

  1. 클래스의 멤버 변수에 대한 접근 권한은 private을 원칙으로 한다.
  2. 클래스의 멤버 변수에 대한 연산처리를 목적으로 하는 함수들을 클래스 내부에 작성한다.
  3. 멤버 함수는 클래스 밖에서 접근할 수 있도록 public으로 설정한다.
  • 접근제한자 종류
    ⭐ 하나의 클래스에는 하나의 public 접근제한자만 존재해야 한다.

    종류설명
    public ( + )외부의 모든 클래스에서 접근 가능
    protected ( # )같은 패키지 내부에 있는 클래스, 자식 클래스(상속받은 경우)에서 접근 가능
    ( default ) ( ~ )같은 패키지 내부에 있는 클래스에서 접근 가능 (자바에만 존재)
    private ( - )같은 객체(클래스) 내에서만 접근 가능

🏹 객체(Instance)의 할당

new 연산자생성자를 사용하여 객체 생성 시
Heap 메모리 공간에 서로 다른 자료형의 데이터가 연속으로 나열/할당된 객체 공간

  • 생성자 (Constructor)
    • 클래스의 객체가 생성될 때 자동으로 호출되는 특수한 종류의 메서드
    • 일반적으로 클래스의 멤버 변수를 초기화하거나
      클래스를 사용하는데 필요한 설정이 필요한 경우 사용


🚩 소스코드

package kh.oop1.day01.exam;
public class Pet {
	private String petType; // 펫의 종류
	private String petName; // 펫의 이름
	private int petAge; // 펫의 나이
	
	// getter
	public String getPetType() {
		return petType;
	}
	
	// setter
	public void setPetType(String petType) {
		this.petType = petType;
	}
	
	// ~ 이하 생략 ~ //
	
	// 매개변수가 있는 생성자
	public Pet(String petType, String petName, int petAge) {
		this.petType = petType;
		this.petName = petName;
		this.petAge = petAge;
	}

}
package kh.oop1.day01.run;
import kh.oop1.day01.exam.Pet;
public class Run {
	public static void main(String[] args) {
		Pet p1 = new Pet("시베리안허스키", "미미", 1);
		
		System.out.println("펫 종류 : " + p1.getPetType());
		System.out.println("펫 이름 : " + p1.getPetName());
		System.out.println("펫 나이 : " + p1.getPetAge());
	}

}

🏹 매개변수 (Parameter)

함수를 정의할 때 전달 받은 인수를 함수 내부로 전달하기 위해 사용하는 변수
  ▶ 인자 (Argument) : 함수가 호출될 때 매개변수에 담겨 함수로 전달되는 값

profile
틀린 내용이 있다면 댓글 또는 이메일로 알려주세요 ❤ꔛ❜

0개의 댓글