728x90 자바13 [Java] 객체 지향 안녕하세요. 씨위드입니다. 오늘은 객체지향을 주제로 가지고 왔습니다. 사실 가장 먼저 포스팅했어야 하는 개념이기도 합니다. 대표적인 객체지향언어가 바로 자바이기 때문이죠. 그럼 객체지향이란 무엇인지 알아볼까요? 객체지향이란? 객체지향 언어는 1960년대 처음 등장했다는 것을 알고 계신가요? Simula라는 최초의 객체지향 언어와 C++ 등의 언어들을 거쳐 1995년 Java가 탄생합니다. Java를 기점으로 객체지향언어는 프로그래밍 언어의 주류가 되었습니다. 그럼 객체지향 언어는 기존의 언어와 무엇이 다를까요? 사실 크게 몇 가지 규칙을 추가한 것이고 기존의 언어와 크게 다르지는 않습니다. 하지만 객체지향을 통해 코드의 재사용성과 관리의 측면에서 많은 이점을 가지게 됩니다. 코드 중복 제거 및 접근제어와.. 2023. 2. 1. [Java] 생성자 안녕하세요. 씨위드입니다. 오늘은 포스팅 주제로 생성자를 가지고 왔는데요. 같이 일하던 친구가 본인은 처음부터 스프링과 그루비만 사용하여 생성자를 어떻게 사용하는 건지 모르겠다는 고민을 이야기한 적이 있었습니다. 저는 퓨어 자바를 사용하여 개발 중이기 때문에 생성자를 만들 일이 아주아주 많습니다. 해서 생성자에 대하여 정리해보려고 합니다. 생성자(constructor)란? 모든 클래스에는 반드시 하나 이상의 생성자가 있어야 합니다. 그럼 생성자란 무엇일까요? 생성자란 인스턴스가 생성될 때마다 호출되는 초기화 메서드입니다. 인스턴스 변수의 초기화 또는 인스턴스 생성 시 수행할 작업에 사용하는데요. 몇 가지를 제외하고는 기본적으로는 일반 메서드와 동일합니다. 아직 이해가 조금 힘드신가요? 그럼 클래스를 하나.. 2023. 1. 31. [CleanCode] 창발성 안녕하세요~ 씨위드입니다. 오늘은 깨끗한 코드를 작성하기 위하여 창발성이라는 개념을 가지고 돌아왔습니다. 창발성이란 무엇일까요? 저에게도 생소한 개념입니다. 검색을 통해 알아보니 아래와 같은 정의를 찾아볼 수 있었습니다. "창발은 하위 계층(구성 요소)에는 없는 특성이나 행동이 상위 계층(전체 구조)에서 자발적으로 돌연히 출현하는 현상이다. 또한 불시에 솟아나는 특성을 창발성(emergent property) 또는 emergence라고도 부른다." 그럼 창발성을 이용한 클린 코드 작성법에 대하여 알아볼까요? 창발적 설계로 깔끔한 코드 구현 간단한 규칙 네 가지만 따른다면 우수한 설계가 나온다면? 해서 SRP(SingleResponsibility Principal) 혹은 DIP(Dependency Inve.. 2023. 1. 23. [Java] Primitive Type & Reference Type 안녕하세요. 씨위드입니다. 오늘은 자바의 데이터 타입에 대하여 포스팅해보려고 합니다. Java의 데이터 타입은 크게 기본타입(Primitive Type)과 참조타입(Reference Type)으로 나눌 수 있습니다. 각각의 특징과 차이점에 대하여 알아보겠습니다. Primitive Type 기본 타입은 실제 데이터 값을 저장하는 타입입니다. 다른 이름으로는 원시타입이라고도 부르는데요. 정수, 실수, 문자, 논리, 리터럴을 저장하며 기본타입의 자료형은 아래와 같이 나눌 수 있습니다. 문자 char 정수 byte, int, short, long 실수 float, double 논리 boolean 리터럴 데이터 그 자체의 값 즉 소스 코드 내에 직접 입력된 데이터를 의미 직접 데이터 값을 저장하기 때문에 변수마다.. 2023. 1. 9. 이전 1 2 3 4 다음 728x90