728x90
객체지향 프로그래밍은 컴퓨터 프로그래밍 패러다임(견해, 사고법)의 하나로, 프로그래밍에서 필요한 데이터를 추상화 시켜서 상태(속성, 어트리뷰트)와 행위(메서드)를 가진 객체 로 만들고, 그 객체간의 상호작용을 통해 로직을 구성하는 방법이라고 하는데, 도통 이게 뭔말인지 이해할 수가 없었다..;; 그래서 나름 자료들을 모아서 최대한 이해하기 쉽게 설명해보겠습니다!
OOP의 6가지 키워드
- 클래스
- 인스턴스
- 추상화
- 캡슐화
- 상속
- 다형성
<클래스>
클래스란 유사한 특징을 지닌 객체들의 속성을 묶어 놓은 집합체입니다.
예를 들어 학교에는 "김철수"나 "김영희" 등 많은 사람들이 있고, 이 사람들을 하나로 묶는 명칭이 바로 "학생"입니다.
이 때 바로 이 "학생"이 클래스이고 하나하나의 "학생"이 객체가 되는 것입니다.
코드로 살펴보면 하나의 클래스를 정의하고, 그 클래스로부터 하나의 실례를 만드는 것을 "객체 또는 인스턴스를 생성한다"고 합니다.
public class Example {
public static void main(String[] args){
Example exam = new Example();
}
}
<인스턴스>
Example이라는 클래스에 examl이 이 클래스에서 실례로 생성된 인스턴스(객체)입니다.
위의 코드는 자기 자신의 클래스를 객체로 선언한 모양이고, 다른 예시를 보겠습니다.
public class Example {
public static void main(String[] args) {
Student a = new Student(17);
Teacher b = new Teacher();
System.out.print(a.getNumber());
System.out.print(b.getNumber());
}
}
class Student{
private int m_number;
public Student(int _num)
{
super();
m_number = _num;
}
public int getNumber()
{
return m_number;
}
}
class Teacher {
public String getNumber()
{
return "교사"
}
}
Student와 teacher라는 클래스를 만들어서 호출하였습니다.
728x90
'Programming > Java' 카테고리의 다른 글
[JAVA]OOP란? - 상속이란? (0) | 2021.05.21 |
---|---|
[Spring] Error creating bean with name 'org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean#0' 에러 해결 (0) | 2021.05.14 |
[MQTT] window & linux mosquitto 설치 방법 (0) | 2021.01.29 |
[MQTT] MQTT broker 종류 (0) | 2021.01.29 |
[Javascript Framework] Property (0) | 2020.12.28 |
댓글