개발 일지 168

[Java] 객체(Object)

객체(Object)란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에 자신의 속성을 갖고 있으며 다른 것과 식별 가능한 것을 말한다. 컴퓨터 과학에서 객체는 클래스에서 정의한 것을 토대로 메모리에 할당된 것으로 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미한다. 객체는 변수, 자료 구조, 함수 또는 메서드가 될 수 있다. 객체 지향 프로그래밍에서 객체는 클래스의 인스턴스이다. 클래스 객체는 자료와 그 자료를 다루는 명령의 조합을 포함하여 객체가 메시지를 받고 자료를 처리하며 메시지를 다른 객체로 보낼 수 있도록 한다. 객체는 크게 속성(state)과 기능(behavior)이라는 두 가지 구성요소로 이루어져 있다. 속성과 기능은 각각 필드와 메서드로 정의되는데, 일반적으로 ..

개발 일지/Java 2022.12.27

[Java] 클래스(Class)

클래스(Class)는 객체 지향 프로그래밍(OOP)에서 객체를 정의한 '설계도(blueprint)' 또는 '틀(frame)'이다. 클래스는 객체를 생성하는 데 사용되며 객체는 클래스에 정의되고 설계된 내용 그대로 생성된다. 이렇게 클래스를 통해 생성된 객체를 해당 클래스의 인스턴스(instance)라고 부른다. 또한, 클래스로부터 객체를 만드는 과정을 인스턴스화(instantiate)라고 한다. 객체와 인스턴스는 사실 같은 말이라서 두 용어를 혼용해서 사용할 수 있다. 엄격하게 두 용어를 구분한다면 객체는 모든 인스턴스를 포괄하는 넓은 의미를 가지고 있는 반면, 인스턴스는 해당 객체가 어떤 클래스로부터 생성된 것인지를 강조한다는 데 그 차이가 있다. 클래스를 사용하면 객체를 분류할 때 멤버의 자료형을 미..

개발 일지/Java 2022.12.27

[Java] 객체 지향 프로그래밍(OOP)

객체 지향 프로그래밍 (Object Oriented Programming, OOP)이란, 프로그램 구현에 필요한 객체를 파악하고 각각의 객체들의 역할이 무엇인지를 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것을 말한다. 여기서 객체란, 우리가 인지할 수 있는 '실재하는 모든 것'이자 '사용할 수 있는 실체'를 의미한다. 객체 지향 이론의 핵심 개념은 '실제 세계는 이러한 객체들로 구성되어 있으며, 발생하는 모든 사건들은 이 객체들 간의 상호작용을 통해 발생한다'는 전제로부터 출발한다. 컴퓨터 프로그래밍의 관점에서 보면 일련의 명령어들의 나열을 통해 컴퓨터에게 말을 건네는 절차적 프로그래밍 방식과는 다르게, 객체지향적 프로그래밍은 '프로그래밍에서 필요한 데이터를 한 데 모아 추상화시켜 상태와 ..

개발 일지/Java 2022.12.27

[Java] 배열(array)

배열(array)은 같은 타입의 변수들을 하나의 묶음으로 묶은 자료 구조이다. 배열을 구성하는 각각의 값을 배열 요소(element)라고 하며, 배열에서의 위치를 가리키는 숫자는 인덱스(index)라고 한다. Java에서 인덱스는 0부터 시작한다. ex) [ 1 ,2, 3, 4 ] 이면 0번째 인덱스는 1이고 2번째 인덱스는 3이다. 배열은 같은 종류의 데이터를 많이 다뤄야 하는 경우에 사용할 수 있는 기본적인 자료 구조이며, 선언되는 형식에 따라 1차원 배열, 2차원 배열 또는 그 이상의 다차원 배열로도 선언할 수 있다. 참고로, 2차원 이상의 배열을 다차원 배열이라고 한다. 1차원 배열의 선언과 초기화 1차원 배열은 가장 기본적인 배열로 다음과 같이 타입 뒤에 대괄호를 붙여서 선언하고 초기화할 수 있..

개발 일지/Java 2022.12.26

[Java] 반복문(Repetitive Statement)

반복문은 코드들이 반복적으로 실행되도록 할 때 사용되며, 반복문의 종류로는 for 문, while 문, do-while 문이 있다. for 문과 while 문은 서로 변환이 가능하기 때문에 반복문을 작성할 때 어느 쪽을 선택해도 되지만, for 문은 반복 횟수를 알고 있을 때 주로 사용하고 while 문은 조건에 따라 반복할 때 주로 사용한다. while 문과 do-while 문의 동작방식은 동일하며, 둘의 차이점은 조건을 먼저 검사할지 나중에 검사할지이다. for 문 for 문은 조건식이 true인 동안 주어진 횟수만큼 실행문을 반복적으로 수행한다. 만약 num = num + (숫자); 와 같은 구문을 1000번 작성하려면 많은 시간이 걸릴 것이다. 하지만 for 문을 사용하면 코드를 획기적으로 줄일 ..

개발 일지/Java 2022.12.23

[Java] 조건문(Conditional Statement)

조건문이란 제어문 중 하나로, 어떤 조건이 주어질 때 어떤 동작을 수행하도록 하는 문장이다. if 문 if 문의 소괄호 안에는 boolean 값으로 평가될 수 있는 조건식을 넣어주고, 중괄호 안의 실행 블록에는 조건식이 참일 때 실행하고자 하는 코드를 작성한다. 중괄호({})를 이용해서 여러 문장을 하나로 묶을 수 있는데 이것을 '블록(block)'이라고 한다. if (조건식) { // 조건식이 참이라면 실행되는 블록이다. } 위 코드와 같이 (조건식) 안에 들어가는 명제가 참이면 살행되고 거짓이면 실행되지 않는다. else 문 else 문은 나머지 경우를 의미하며 if 문을 사용했을 때 그 뒤에 else 문을 사용할 수 있다. 만약 if 문의 조건식에 들어간 명제가 참이 아니면 else 블록이 실행된다..

개발 일지/Java 2022.12.23

[Java] 콘솔 입출력(I/O)

콘솔 출력 프로그래밍을 하면서 변수에 담긴 값을 확인할 때 콘솔에 출력할 수 있다. 콘솔에 값을 출력하기 위해서는 여러 메서드를 활용한다. System.out.print() : 출력하기 System.out.print() 메서드는 소괄호 안의 내용을 출력하고 줄바꿈을 하지 않는다. ex) System.out.print("Hello Java") 를 실행하면 소괄호 안의 "Hello Java"가 출력되고 커서는 출력된 "Hello Java" 뒤로 이동한다. System.out.println() : 출력하고 줄 바꾸기 System.out.println() 메서드는 소괄호 안의 내용을 콘솔에 출력하고 줄바꿈을 한다. print 뒤에 붙은 ln은 line을 의미한다. ex) System.out.println("He..

개발 일지/Java 2022.12.22

[Java] 연산자(Operator)

연산자란 하나의 값 또는 여러 개의 값을 피연산자로 하여 새로운 값을 만들어내는 기호이다. 산술 연산자 산술 연산자는 사칙 연산에 사용되는 연산자(+, -, *, /)와 나머지 연산자(%)를 포함한다. 연산자 기능 예시(int) + (덧셈 연산자) 두 항의 값을 더한 값을 반환한다. 9 + 7 = 16 - (뺄셈 연산자) 좌항의 값에서 우항의 값을 뺏 값을 반환한다. 9 - 7 = 2 * (곱셈 연산자) 두 항의 값을 곱한 값을 반환한다. 9 * 7 = 63 / (나눗셈 연산자) 좌항을 우항으로 나눈 값을 반환한다. 9 / 7 = 1 & (나머지 연산자 또는 모듈로 연산자) 좌항의 값을 우항의 값으로 나눈 나머지를 반환한다. 9 % 7 = 2 위 표에서 나눗셈 연산자를 사용할 때 좌항과 우항이 모두 in..

개발 일지/Java 2022.12.22

[Git] 환경 설정

Git을 이용할 때는 사용자 정보와 에디터 설정이 필요하다. 사용자 정보 Git을 설치하면 가장 먼저, 사용자 이름과 이메일 주소를 설정한다. 설정에 기록된 사용자 이름과 메일 주소를 앞으로 진행할 Git 커밋 내역에 기록한다. 터미널을 열어 다음과 같이 입력해서 설정하면 된다. $ git config --global user.name "나의 사용자 이름" $ git config --global user.email "내 이메일 주소" // 예시 $ git config --global user.name "kimcoding" $ git config --global user.email "kimcoding@example.com" -global 옵션으로 설정하면 사용자 홈이 저장되므로 git을 설정할 때 처음 한..

개발 일지/Git 2022.12.22

[Java] 문자열(String)

문자열이란 문자들로 구성된 문장을 의미하며, 자바에서 문자열을 나타내는 자료형은 String이다. String 타입의 변수를 선언하고 문자열 리터럴을 할당하는 방법은 다음과 같다. // 기본적으로 String 타입은 큰 따옴표(")로 감싸진 문자열을 의미 String name; // 변수 선언 name = "Kim Coding"; // 변수에 문자열 리터럴 할당 // 아래와 같이 선언과 동시에 할당도 가능하다. String name = "Kim Coding"; 또는 다음과 같이 표현할수도 있다. String name = new String("Kim Coding"); // String 클래스의 인스턴스를 생성 어떤 클래스를 통해 인스턴스를 생성하면 해당 인스턴스의 타입은 자신을 생성해낸 클래스를 타입으로 ..

개발 일지/Java 2022.12.21