Spring과 진짜 초면인 우리
1️⃣ 캡슐화 2️⃣추상화 3️⃣ 다형성 4️⃣ 상속성
1️⃣ 캡슐화


캡슐화란?
- 객체의 속성과 기능을 한곳에 묶고, 외부에서 객체 내부 속성에 직접 접근하지 못하게 제한하는 것
- 즉, 객체 내부의 정보를 보호하기 위한 '캡슐화'
영어, 중국어, 일본어를 구사하는 사람들의 정보를 담은 클래스를 만들고,이를 캡슐화하여 보호한다고 가정하고 간단한 예시 코드를 작성해보았다
- Person 클래스 내에 name, age, language 멤버 변수를 'private' 접근제한자로 지정하여 '캡슐화'
- 이 변수들은 클래스 외부에서 직접 접근이 불가능하고, getter / setter 메서드를 통해서만 접근 가능해짐
- printInfo() 메서드를 통해 멤버 변수들의 정보를 출력 가능
이러한 캡슐화를 통해, 객체 내부의 정보를 보호할 뿐만 아니라 외부의 잘못된 접근도 막을 수 있겠다!!
public class Person {
private String name; // 이름
private int age; // 나이
private String language; // 구사하는 언어
// 생성자
public Person(String name, int age, String language) {
this.name = name;
this.age = age;
this.language = language;
}
// 게터와 세터
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
// 정보 출력 메서드
public void printInfo() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Language: " + language);
}
}
class main {
public static void main(String[] args) {
Person person = new Person("에디", 34, "한국어");
person.printInfo();
System.out.println();
person.setLanguage("중국어");
person.printInfo();
}
}
// 출력 결과
// Name: 에디
// Age: 34
// Language: 한국어
// Name: 에디
// Age: 34
// Language: 중국어
'Spring과 진짜 초면인 우리들에게' 카테고리의 다른 글
| @Override 넌 왜 필요하니? (오버로딩 아님 주의!) (0) | 2023.03.29 |
|---|---|
| 객체지향 - 인터페이스 (0) | 2023.03.28 |
| 객체지향의 특징 4가지 - 상속성 (0) | 2023.03.28 |
| 객체지향의 특징 4가지 - 다형성 (0) | 2023.03.28 |
| 객체지향의 특징 4가지 - 추상화 (0) | 2023.03.28 |