연산자 우선순위, 객체지향

김민준·2023년 7월 7일
0
0. 프로그래머스
1. 연산자 우선순위, console.log 안의 연산
2. 객체지향

1. 연산자 우선순위, console.log 안의 연산

어제 문제의 연장

const q = "2";
const w = "3";

console.log(Number(q)+Number(w))   // 5
console.log(Number(q)+Number(w)+q) // 52
console.log(q+Number(q)+Number(w)) // 223

연산자는 좌에서 우로 가며, 일반적인 사칙연산과 같은 우선 순위를 가진다.

  1. 좌결합성 : 좌에서 우로 간다
  2. 우결합성 : 대입연산자(=) 등은 오른쪽에서 왼쪽으로
  3. 괄호 : 괄호 안의 내용이 먼저이다.

0. 프로그래머스

문제

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

let input = [];

rl.on('line', function (line) {
    input = line.split(' ');
}).on('close', function () {
    console.log(input[0]+input[1])
});

나의 답안

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = [];

rl.on('line', function (line) {
  input = line.split(' ');
}).on('close', function () {
  console.log(input.join(''));
});

다른 사람의 답안

.split(' ') 입력값을 공백을 기준으로 나눈다.
.join('') 사이사이에 아무런 값도 없이 붙인다.(기본값은 ,이다.

나의 풀이

function solution(number, n, m) {
    return (parseInt(number/n)===parseFloat(number/n) && parseInt(number/m)===parseFloat(number/m)) ? answer =1 : answer=0
  }

2. 객체지향

프로그래밍 패러다임의 대표적인 세 종류

  1. 구조적 프로그래밍 Structured Programming
    기능 중심 개발
    위에서 아래로 물흐르듯이 water fall 처리한다.

  2. 객체 지향 프로그래밍 Object-Oriented Programming, OOP
    객체 중심 처리
    현실 세계를 모델링하는 프로그래밍 패러다임
    소프트웨어의 핵심을 기능이 아닌 객체에 맞춘다.
    = 누가 어떠한 일을 할 것인가에 초점을 맞춘다.

  3. 함수형 프로그래밍 Functional Programming
    함수 중점
    가장 먼저 생긴 패러다임이지만, 최근에 도입되기 시작한다.

  • 객체? - 어떤 특성을 가지고 있으며, 특정 기능을 수행할 수 있다.
  • 왜 객체 지향인가?
    1.크고 복잡한 시스템을 효과적으로 분해,구성할 수 있다.
    그래서 이해가 쉽고, 효율적으로 다룰 수 있다.
    2.캡슐화 Encapsulation
    개념적, 물리적으로 객체 내부의 세부적인 사항을 감추는 것 = 정보은닉
    객체 내분의 접근을 제한하여, 객체간의 결합도를 낮추고, 설계변경을 쉽게한다.
  • 다형성 polymorphism
    같은 메소드를 사용하지만, 클래스마다 다르게 구현되는 개념

참조한 사이트

자바 스크립트 연산자 우선순위
연산 기호 별 우선순위 및 결합방향

profile
node 개발자

0개의 댓글

관련 채용 정보