어제와 오늘까지 해서 이틀동안 객체지향에 대한 강의를 들었는데, 내 나름대로 정리를 해 보았다.
1.소프트웨어의 가치? 변화?
강의를 하시는 튜터님께서 소프트웨어의 가치에 대해서 말씀해 주셨는데, 낮은 비용으로 변화가 가능해야 가치가 있는 소프트웨어라고 하셨다.
결국 소프트웨어에 어떠한 변화가 필요한데 그것에 시간이 오래 걸리면 그 시간이 다 비용이기 때문에 비용손실이 증가하고, 뒤쳐지는 소프트웨어가 될 수 밖에 없는 소리다.
즉 유지,보수가 용이한 소프트웨어가 더 가치있는 소프트웨어란 말로 이해했다.
2.방법
- 패러다임
- 객체 지향 프로그래밍, 함수형 프로그래밍 등등…
- 아키텍처, 코드, 설계
- TDD(TestDrivenDev)
- DDD(DomainDrivenDesign)
- 클린 아키텍처
- 클린 코드
- MSA(MicroServiceArchitecture)
- 디자인 패턴(GoF)
- 프로세스
- 애자일, Devops..
이러한 방법들이 있다고 얘기 해 주셨는데 알아듣지는 못하였다.
3.인자와 매개변수
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
}
public static void Main(String args[]) {
new Person("김철수");
}
Argument(아큐먼트) - 인자
함수 호출 시, 전달 되는 값
Parameter(파라미터) - 매개 변수
전달 되는 인자를 받아들이는 변수
용어에 대해 정확한 뜻을 알아야 한다는 의도로 설명해주신것 같다.
위 코드에서 아규먼트는 김철수, 파라미터는 name이 될 것이다.
4. 접근 제어자를 사용하는 이유
- 객체지향 프로그래밍이란 객체들 간의 상호작용을 코드로 표현하는 것입니다.
- 이때 객체들간의 관계에 따라서 접근 할 수 있는 것과 아닌 것, 권한을 구분할 필요가 생깁니다.
- 클래스 내부에 선언된 데이터의 부적절한 사용으로부터 보호하기 위해서!
- 이런 것을 캡슐화(encapsulation)라고 합니다.
- 캡슐화
- 데이터와 관련 기능을 묶는다.
- 객체가 어떻게 행동(기능)하는지 외부에 노출하지 않는다.
- 정보 은닉
- 객체 내부 행동(기능)이 변경 되더라도, 외부에 영향을 주지 않는다.
- 할인 조건 일시가 바뀌면?
- 할인 금액이 바뀌면?
- 접근 제어자는 캡슐화가 가능할 수 있도록 돕는 도구입니다.
라고 하는데 나는 자세한것은 강의하시면서 쓰신 예제로 이해를 했다.
객체지향 강의 예제 - 1
예제 1 class Phone { String model; String color; static int price; } public class Main { public static void main(String[] args) { Phone galaxy = new Phone(); galaxy.model = "Galaxy10"; galaxy.color = "Black"; galaxy.price = 10000; Phone iPhone = new Phon
move22.tistory.com
'개발일지(일간)' 카테고리의 다른 글
22년 11월 22일 객체지향(3) (0) | 2022.11.22 |
---|---|
22년 11월 21일 객체지향(2) (0) | 2022.11.21 |
22년 11월 17일 자바 기초 문법 (0) | 2022.11.17 |
22년 11월 16일 자바 기초 문법 (0) | 2022.11.16 |
22년 11월 15일 자바 기초 문법 (0) | 2022.11.15 |