OOP(6)
-
객체 지향 설계 SOLID 원칙
SOLID 설계 원칙은 oop 의 4가지 특징(추상화, 상속, 다형성, 캡슐화)와 더불어, 객체 지향 프로그래밍의 면접 질문 중 하나이고, 디자인 패턴들이 SOLID 설계 원칙에 입각해 만들어 진 것이기에 표준화 작업에서부터 아키텍처 설계에 이르기까지 다양하게 적용되는 이의 근간에 되는 SOLID 원칙에 대해 알아볼 필요가 있다. 좋은 소프트웨어는 변화에 대응을 잘 하는 것을 말한다. 갑자기 고객사에 기획에 없는 추가적인 요청을 하면 비록 욕을 할지라도 결국 구현을 해야하는데, 이러한 변화에 큰 문제없이 잘 대응하기 위해서 소프트웨어 설계 근간이 좋아야 한다. 좋은 설계란 시스템에 새로운 요구사항이나 변경사항이 있을 때, 영향을 받는 범위가 적은 구조를 말한다. 시스템에 예상치 못한 변경사항이 발생하더라..
2023.12.05 -
3주차 [ WIL ]
이번주에 알게된 것 1. 쿠키와 세션 https://muyeon95.tistory.com/193 쿠키와 세션 [ TIL ] Problem 항상 쿠키와 세션에 대해 긴가 민가 했다. 그래서 쿠키와 세션에 대해 알아보았다. Try 쿠키와 세션에 대해서 블로그나 영상을 통해 개념을 찾아보았고, 그 개념에 예시를 들어보려고 시도 muyeon95.tistory.com 2. 토큰과 캐시 https://muyeon95.tistory.com/194 토큰과 캐시 [ TIL ] Problem 쿠키와 세션에 이어 이해할 수 토큰과 캐시 에 대해 이해해보자 Try 여러 블로그와 강의를 보고 예시를 들어서 정리해보았다. Solve token 토큰은 동물원으로 치자면 티켓이다. 이 토큰 티켓 muyeon95.tistory...
2023.07.02 -
객체 지향 프로그래밍 OOP [ TIL ]
Problem node.js 관련 프로젝트 코드를 보던 중 class 를 통해 작성하는 것을 많이 보았다. 객체 지향(OOP)이라는 키워드를 알게 되었고 알아보기로 했다. 객체 지향의 특징들을 알아보자. Try 검색하며 조사하다 보니 OOP 의 개념이 정말 많고, 하루아침에 잘 알게되거나 하는 부분이 아닌걸로 보였다. 그래서 간단한 개념과, 왜 객체지향을 사용하는지에 대해 알아보았다. Solve 객체 지향은 좋은 코드를 짜기 위한 방법이다. 이 좋은 코드는 변경하기 쉽고, 이해하기 쉬운 코드. 쉽게 유지보수가 가능하고 다른 개발자, 나중에 내가 봐도 이해하고 버그를 찾아낼 수 있는 코드이다. 구조화, 추상화 좋은 코드를 쓰려면 나누고 묶어야하는데 복잡한 프로그램을 작은 단위로 나누고 묶어서 정리해야한..
2023.06.28 -
Javascript OOP 상속
부모 클래스를 자식클래스에 확장하는 것, 부모 클래스에 있던 기능들로 자식 클래스를 만들 수 있다. extends 키워드를 사용하고, super() 를 사용해 부모 클래스의 속성을 물려받을 수 있다. class Person { constructor(name, age, job) { this.name = name; this.age = age; this.job = job; } sayHello() { return `안녕 나는 ${this.name}야 정말 반가워`; } static sumAllNumbers(min, max) { let result = 0; for (let i = min; i < max + 1; i++) { result += i; } return result; } } class Student ex..
2023.05.16 -
Javascript ES6 Classes
ES6 에서 나온 Class 를 이용해서 쉽게 OOP 를 구현할 수 있다. 문법은 OOP 방식을 이용하지만 내부에서는 prototype 을 사용하며 작동한다. class Person { constructor(name, age, job) { this.name = name; this.age = age; this.job = job; } sayHello() { return `안녕 나는 ${this.name}야 정말 반가워`; } } const yeon = new Person("yeon", 29, "false"); console.log(yeon); console.log(yeon.sayHello()); - constructor 는 인스턴스의 생성과 동시에 클래스 필드의 생성과 초기화를 실행, 또 constructo..
2023.05.16 -
Javascript OOP 객체지향 특징
객체지향 프로그래밍은 객체들의 모임이다. 객체는 알아보기 쉽고 재사용성이 높다. 특징 1) 자료 추상화 (Abstraction) 불필요한 정보는 숨기고 중요한 정보만을 표현해 프로그램을 간단하게 만든다. 객체 안에 자세한 내용을 몰라도 중요 정보를 이용해 해당 객체 사용 2) 상속 (Inheritance) 새로운 클래스의 자료와 연산을 이용할 수 있게하는 기능 이를 통해 기존의 클래스를 상속받은 하위 클래스를 이용해 프로그램 요구에 맞춰 클래스를 수정하고 클래스간 종속 관계를 형성할 수 있다. 3) 다형성 (Polymorphism) 다양한 형태를 가질 수 있다. 같은 메소드라도 각 인스턴스에 따라 다양한 형태를 가질 수 있다. 오버 라이딩(Overriding) 을 사용하여 자식 클래스의 메서드가 부모 클..
2023.05.16