객체 3

그래서 왜 객체를 지향해야 한다고? 한 장으로 끝내는 객체지향 총정리[객체지향의 사실과 오해 정리 및 서평]

Introduction 현재 우리 회사에서 사용하는 프로그래밍 언어는 자바이다. 입사하고 처음 자바를 공부하면서, 그 전까지는 말로만 듣던 객체지향 프로그래밍에 대해서 역시 접하기 시작했다. 5월 즈음부터였나. 라는 책으로 자바 공부를 시작했는데 변수와 타입, 연산자, 반복문 등 기초 문법을 떼고 나니 본격적으로 클래스, 상속, 다형성, 인터페이스 등 온갖 객체지향 관련 용어가 쏟아지더라. 물론 각 용어가 어떤 의미인지 설명과 예시가 잘 되어 있어서 이해하는데 큰 어려움은 없었다. 하지만 지금 떠올려보면 그때의 공부는 그림책 속 사과 이미지를 보고서 "이것은 사과고, 빨갛고, 먹으면 달고 아삭한 식감이 난다"라는 사과의 특징을 문자로 받아들이는 것에 지나지 않았다. 그도 그럴 것이, 자바는 그 본질 자체..

독서일기 2022.12.28

[클린 코드] 6장 - 객체와 자료 구조

6장 - 객체와 자료 구조 변수를 비공개로 정의하는 이유가 있다. 남들이 변수에 의존하지 않게 만들고 싶어서다. 그런데 어째서 수많은 프로그래머가 조회(get) 함수와 설정(set) 함수를 당연하게 public으로 설정해 비공개 변수를 외부에 노출할까? 자료 추상화 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 것이 좋다. 똑같이 2차원 점을 표현하는 두 클래스를 예시로 살펴보자. // 구체적인 Point 클래스 public class Point { // 필드값이 public으로 오픈 public double x; public double y; } // 추상적인 Point 클래스 public interface Point { // 필드값이 외부로 노출되어 있지 않고 오직 getter / sett..

독서일기 2022.11.17

[Java]참조 타입(이것이 자바다 Ch.5)(작성 중)

5.1 데이터 타입 분류 데이터 타입 원시 타입(Primitive type) 정수 타입 byte(1byte) char(2byte) short(2byte) int(4byte) long(8byte) 실수 타입 float double 논리 타입 boolean 참조 타입(Reference type) 배열 타입(array) 열거 타입(enum) 클래스(class) 인터페이스(Interface) 💡 참조 타입: 객체의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 타입을 말함. 변수: 스택에 생성 int, double → 직접 값을 저장 객체: 힙에 생성 클래스 변수 → 힙 영역의 객체 주소 값을 갖는다. 주소를 통해 객체를 참조한다는 뜻에서 클래스 변수를 참조 타입(Reference type) 변수라..

Java 2022.05.20