클래스
[Java] 필드(Field)와 생성자(Constructor)
Chapter 06 클래스 06-1 객체 지향 프로그래밍 06-2 필드 06-3 생성자 06-4 메소드 06-5 인스턴스 멤버와 정적 멤버 06-6 패키지와 접근 제한자 06 클래스 06-2 필드 시작하기 전에 필드(Field) 란? 객체의 고유 데이터, 객체가 가져가야 할 부품, 객체의 현재 상태 데이터 등을 저장하는 곳을 의미한다. 필드 선언 클래스 중괄호 {} 블록 어디서든 존재 가능하다. 생성자와 메소드 중괄호 블록 내부에는 선언 불가하다. 변수와 선언 형태 유사하나 변수 아님에 주의한다. 타입 필드 [ = 초기값]; 타입에는 기본 타입과 참조 타입이 모두 올 수 있다. 초기값은 주어질 수도, 생략할 수도 있다. 초기값 지정되지 않은 필드는 객체 생성 시 자동으로 기본 초기값 설정된다. 필드 사용..
[Java] 객체 지향 프로그래밍
Chapter 06 클래스 06-1 객체 지향 프로그래밍 06-2 필드 06-3 생성자 06-4 메소드 06-5 인스턴스 멤버와 정적 멤버 06-6 패키지와 접근 제한자 06 클래스 06-1 객체 지향 프로그래밍 시작하기 전에 객체(Object)란? 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 1) 자신의 속성을 가지고 있고 2) 식별 가능한 것을 말한다. ex) [사람] 속성: 이름, 나이 / 동작: 웃다, 걷다 ex) [자동차] 속성: 색깔, 모델명 / 동작: 달린다, 멈춘다 여기서 속성은 필드(filed), 동작은 메소드(method) 객체 모델링(Object Modeling)이란? 현실 세계의 객체를 소프트웨어 객체로 설계하는 것을 말한다. 객체의 상호작용 객체들은 각각 독립적으로 ..
[TIL] Java 인터페이스, 내부클래스, 예외처리
✍ Today I Learned [클래스 다시 짚고 넘어가기] 클래스는 개념을 코드로 작성한 것이다. 개념은 정적인 것과 동적인 것으로 구분된다. 정적인 것은 특정 시점의 상태 값이다. 동적인 것은 상태 값을 변경하는 기능이다. 생성자는 클래스를 사용하기 위한 출입구이다. 생성자를 통해서 클래스가 보유한 모든 리소스에 접근한다. 클래스의 변수와 메서드는 특정 목적을 위해 설계된 리소스이다. 클래스는 new 연산자와 생성자를 통해 물리적으로 인스턴스가 된다. 인스턴스란 메모리상에 주소 값을 갖는 데이터이다. 모든 리소스의 접근은 인스턴스의 주소 값으로부터 시작한다. 데이터의 인풋(파라미터)과 아웃풋(리턴)의 이해를 해보자! 클래스를 생성할 땐 어떤 값이 필요하고, 무엇을 위해 변경할 건지 생각하자! [추상..
[TIL] Java 메서드, 오버로딩, 재귀호출, 클래스
✍ Today I Learned [계산기 만들기] switch문에서 string을 이퀄 연산하는 건 자바 1.7 버전부터 가능하다. 연산을 한 첫 번째 숫자와 두 번째 숫자를 사용자에게 입력받고 연산자를 switch문으로 돌려서 간단하게 구현하였다. 여기서 로직이 추가된다면? case 절의 연산이 다른 곳에서도 필요하다면? 답은 메서드! [메서드 Method] 메서드(method)란? 어떠한 특정 작업을 수행하기 위한 명령문의 집합이다. 메서드를 사용하면 중복되는 코드를 줄일 수 있고, 모듈화로 인해 가독성도 좋아지고, 손쉽게 유지 보수할 수 있다. 메서드는 되도록 하나의 기능만 수행하는 것이 좋다. 메서드를 생성할 때는 항상 2가지를 생각한다. 1) 어떤 데이터를 파라미터로 전달할 건지 2) 어떤 데이..
[JavaScript] 자바스크립트의 클래스(Class)
클래스란? 클래스(Class)란 객체 지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메서드를 정의하는 일종의 틀로, 객체를 정의하기 위한 상태(멤버 변수)와 메서드(함수)로 구성된다. ES6에 도입되었으며, JavaScript 객체용 템플릿이라고 볼 수 있다. 클래스 생성 class ClassName { constructor() { ... } } class 키워드를 사용한다. 생성자 메서드 constructor()를 사용한다. name과 year 속성을 가진 'Car'라는 클래스를 만들어보자. class Car { constructor(name, year) { this.name = name; this.year = year; } } // 객체 생성 let myCar1 = new Car("Ford",..
[TIL] JS 클래스, JSON
✍ Today I Learned 스스로 하지 않으면 발전은 없다! 분발하자! [Style Guide] operator 양쪽에 공백 두기 변수 이름 시작에 숫자나 대문자 X 달러($) 기호로 이름을 시작하지 않기 파일명은 소문자로 하는 것을 추천 [Best practices] 전역 변수, new, ==, eval() 가급적 사용하지 않기 변수는 상단에 선언하고, 선언하면서 초기화 객체, 배열 선언은 const 자바스크립트는 자동형변환 되는 경우가 많으므로 언제나 데이터 타입에 유의하기 switch 문은 언제나 default로 끝내기 eval() 함수 사용하지 않기 [Mistakes] = 할당 연산자와 == 비교 연산자 헷갈리지 말기(할당은 할당 값을 반환) switch문은 타입까지 비교하는 엄격한 비교를 ..