객체지향이란Java2022. 12. 4. 11:55
Table of Contents
728x90
728x90
객체지향이란?
- 객체가 각각의 역할 수행
- 객체의 결괏값 역시 다른 객체의 결괏값과 상관없이 독립적인 값을 유지
- 객체를 사용하면 객체의 개수가 늘어나더라도 객체를 생성만 하면 되기 때문에 클래스만을 사용하는 경우와 달리 매우 간단해진다.
class Calculator {
int result = 0; // 객체변수, 맴버변수, 필드
int add(int num) { // 메서드
result += num;
return result;
}
}
public class Sample {
public static void main(String[] args) {
Calculator cal1 = new Calculator(); // 계산기1 객체
Calculator cal2 = new Calculator(); // 계산기2 객체
}
}
// 클래스에 의해 만들어진 객체를 인스턴스라고도 한다.
// cal1은 계산기 한 대(객체)이며, Calculator 클래스의 인스턴스이다.
class Animal {
String name;
public void setName(String name) {
this.name = name;
}
}
public class Sample {
public static void main(String[] args) {
Animal cat = new Animal();
cat.setName("sad");
Animal dog = new Animal();
dog.setName("happy");
System.out.println(cat.name);
System.out.println(dog.name);
}
}
// 결과값
body
happy
// this.name=name의 의미
// cat과 dog 인스턴스에서 setName 메서드를 호출하여 name를 입력시켜 "sad", "happy의 입력값을 전달했다
// cat.name=sad
// dog.name=happy이 된다
// 필드값은 공유되지 않는다
객체지향 프로그래밍의 장점
- 새로운 코드를 작성할 때 이미 만들어 놓은 코드를 이용해 쉽게 작성 가능
- 코드의 관리가 쉽다
- 코드의 중복을 제거하고 코드 불일치로 인한 예외방지 가능
- 보안과 신뢰성이 높은 프로그램 개발을 가능하게 함
객체지향 프로그래밍의 특징
- 추상화(추상클래스 , 인터페이스) : 필요한 정보만 간소하게
- 다형성 : 객체간의 관계를 유연하게
- 캡슐화(접근제어자) : 객체에 필요한 데이터나 기능(메서드)을 책임이 있는 객체에 그룹화
- 상속(오버라이딩) : 상위 클래스의 기능을 하위 클래스가 사용 가능
객체지향 설계원칙
- SRP(단일 책임)
- OCP(개방 폐쇄)
- LSP(리스코프 치환)
- ISP(인터페이스 분리)
- DIP(의존성 역전)
728x90
300x250
@mag1c :: 꾸준히 재밌게
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!