CS
객체 지향 프로그래밍(OOP, Object-Oriented Programming)
세상 모든 것이 객체 객체란 보고 만질 수 있는 것, 지성적으로 이해할 수 있는 것, 생각이나 행동이 추구하는 바를 말한다. 다시 말해서 객체는 우리 주변에서 쉽게 볼 수 있는 핸드폰, 노트북, 리모컨, TV 등 모든 것이 될 수 있다. 그리고 이들은 자신만의 특성과 행동으로 다른 객체들과 상호작용하고 있다. 예를 들면, 리모컨은 TV를 작동시키기 위한 다양한 버튼이 있다는 특성(state, attribute)이 있고, 리모컨의 버튼을 누르면 TV가 작동하는 행동(behavior)이 일어난다. 객체 지향 프로그래밍에서는 리모컨의 특성과 행동을 변수와 메서드로 정의한 것을 클래스라고 부르며, 이 클래스에서 정의한 것을 바탕으로 실제 생산된 리모컨을 인스턴스(객체)라고 부른다. 객체 지향 프로그래밍(Obje..
좋은 코드란 무엇인가
좋은 코드란 무엇일까? 좋은 이라는 말은 굉장히 추상적이다. 누군가는 읽기 쉬운 코드를 좋은 코드라고 할 수도 있고, 누군가는 테스트가 쉬운 코드를 좋은 코드라고 할 수 있다. 이처럼 개발자의 관점에 따라, 각자의 경험에 따라 좋은 코드에는 여러 뜻이 담길 수 있다. 읽기 쉬운 코드 개발자들은 코드를 작성하는데 가장 많은 시간을 쓰고 있을 거라 생각하지만, 실제로 그들은 코드를 이해하는데 가장 많은 시간을 소비하고 있다. 읽기 쉬운 코드를 작성하는 것은 생각보다 어렵다. 당장 내가 작성한 코드도 몇 달 뒤에 보면 새롭기 때문이다. 특히 협업을 진행한다면 코드의 가독성은 더더욱 중요하기 때문에 팀원들끼리 코드의 규칙을 정하는 게 좋다. 1️⃣ Names a1, a2, t1... 이런 이름들은 무슨 역할을 ..