본문 바로가기

전체 글525

[CS] 추상화 추상화 프로그래밍에서의 추상화는 복잡한 데이터, 구조, 시스템 등으로부터 핵심만을 가려내 덜 자세하게 만드는 것 또는 세부사항, 절차 등을 감추고 인터페이스 등을 만드는 것으로 복잡도를 낮추는 방법을 말한다. 데이터 추상화 데이터들의 공통점을 모으고 차이점은 버림. ex) 고양이, 강아지, 원숭이 등의 객체들의 공통적인 특징을 묶어 동물이라는 카테고리로 카테고리화 시킨다. 프로세스 추상화 어떠한 내부 프로세스를 숨기는 것을 말한다. 예를 들어 데이터베이스가 어떻게 데이터를 저장하는지는 모르지만 단순하게 insert, upsert 등의 쿼리로 데이터를 저장할수 있다. 2024. 1. 26.
[CS] 오버로딩, 오버라이딩 오버로딩 이름이 같아도 매개변수 개수, 타입, 순서를 다르게 해서 같은 이름으로도 여러 개의 함수를 정의할 수 있는 것을 말한다. 이는 프로그램의 유연성을 높이고 결과적으로 코드를 깔끔하게 하는 효과가 있으며 같은 클래스내에서 사용한다. 오버라이딩 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의하는 것을 말한다. 상속 관계 클래스에서 사용되며 static, final로 선언한 메서드는 오버라이딩이 불가능하다. 2024. 1. 26.
[CS] static 키워드 static 키워드는 클래스의 인스턴스가 아닌 클래스에 속하며 클래스의 변수, 메서드 등을 공유하는데 사용된다. 이를 통해 해당 클래스로 만들어지는 객체사이에서 중복되는 메서드, 속성을 효율적으로 정의할때 쓰인다. 중복되는 메서드, 중복되는 속성에 사용한다. 단점 선언과 동시에 메모리 영역에 할당되서 사용하지 않으면 메모리낭비가 발생한다. 프로그램이 종료될때까지 가비지컬렉터가 메모리를 회수하지 않는다. 2024. 1. 26.
[JS] prototype, __proto__ 부모 객체의 프로퍼티나 메서드를 가져와서 사용 => 상속 객체간의 상속을 구현하기위해 => 프로토타입을 사용 프로토타입 = 상위객체 = 부모객체 let arr = new Array(); Array 객체를 arr배열의 프로토타입이라고 한다. 생성자 함수를 선언하는 순간, 자동으로 프로토타입 객체가 만들어진다. const Book = function(title, pages, done){ this.title = title; this.pages = pages; this.done = done; this.finish = function(){ this.done === false ? str = "읽는중" : str = "완독"; return str; } } const book1 = new Book("웹 표준의 정석",.. 2024. 1. 25.