728x90

Java 39

Java 15. 객체지향언어란? (객체지향 프로그래밍 알아보기)

객체지향언어 객체지향언어는 기존의 프로그래밍 언어와 다른 전혀 새로운 것이 아니라, 기존의 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 보다 발전된 형태의 프로그래밍이다. 몇 가지 규칙들을 이용해서 코드 간에 서로 관계를 맺어 줌으로써 보다 유기적으로 프로그램을 구성하는 것이 하능 해졌다. 기존의 프로그래밍 언어에 익숙한 사람이라면 자바 언어의 객체지향적인 부분만 새로 배우면 된다. 다만 절차적 언어에 익숙한 프로그래밍 습관을 객체지향적으로 바꾸도록 노력이 필요하다 객체지향언어의 주요 특징 1. 코드의 재사용성이 높다 - 새로운 코드를 작성할 떄 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다 - 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신..

Java 2023.03.15

Java 14. 상속 (inheritance)

상속이란 (상속의 정의와 장점) 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 이러한 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. 자바에서는 상속을 구현하는 방법은 아주 간단하다, 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 "extends"와 함께 써 주기만 하면 된다. 이 두 클래스는 서로 상속 관계에 있다고 하며, 상속해주는 클래스를 조상 클래스라고 하고 상속 받는 클래스를 자손 클래스 라고 한다. 상속을 하게 되면 보이지는 않..

Java 2023.03.14

Java 13. Constructor 생성자 (Class 클래스)

Constructor 생성자란? 생성자는 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드이다 따라서 인스턴스 변수의 초기화 작업에 주로 사용되며, 인스턴스 생성 시에 실행되어야 할 작업을 위해서도 사용된다. 생성자 역시 메서드처럼 클래스 내에 선언되며, 구조도 메서드와 유사하지만 리턴값이 없다는 점이 다르다. 그렇다고 해서 생성자 앞에 리턴값이 없음을 뜻하는 키워드 void를 사용하지는 않고, 단지 아무것도 적지 않는다. 생성자의 조건은 1. 생성자의 이름은 클래스의 이름과 같아야 한다. 2. 생성자는 리턴 값이 없다. 생성자도 메서드이기 때문에 리턴값이 없다는 의미의 void를 붙여야 하지만, 모든 생성자가 리턴값이 없으므로 void를 생략할 수 있게 한 것이다. 연산자가 new가 인스턴스를 생성..

Java 2023.03.13

Java 12. Class 클래스

Class 클래스란 "객체를 정의해 놓은 것" 또는 객체의 설계도 또는 틀이라고 정의할 수 있다. 클래스는 객체를 생성하는데 사용되며, 객체는 클래스에 정의된 대로 생성된다. (클래스를 정의하면 클래스는 객체를 정의해 놓은 것이고 클래스의 용도는 객체를 생성하는 데 사용된다.) 객체의 사전적인 정의는, 실제로 존재하는 것이다 우리가 주변에서 볼 수 있는 책상, 의자, 자동차와 같은 사물들이 곧 객체이다. 객체지향이론에서는 사물과 같은 유형적인 것뿐만 아니라, 개념이나 논리와 같은 무형적인 것들도 객체로 간주한다. 프로그래밍에서의 객체는 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다. 객체의 정의: 실제로 존재하는 것, 사물 또는 개념 객체의 용도: 객체가 가지고 있는 기능과 속성에 따라 다름. 유..

Java 2023.03.12

Java 11. Method Overloading(오버로딩)

Method Overloading 란 같은 이름의 메서드를 여러 개 정의하는 것, 메서드의 파라미터의 타입 또는 개수가 다를 때 over loading 할 수 있음. 주의할 점은 메서드의 파라미터는 같고 리턴 타입만 다르게 overloading 할 수는 없음. (리턴 타입이 다르다고 해서 over loading 할 수 있는 것이 아니다.) 메서드 오버로딩을 이해하기 위해서는 먼저 메서드 시그니처의 의미를 알아야 한다. 메서드 시그니처는 메서드 명과 입력매개변수의 자료형을 말한다. 시그니처라는 말에서 유추할 수 있듯이 메서드를 구분하는 기준 역할을 한다. 자바 가상 머신은 메서드 시그니처가 다르면 메서드명이 동일해도 다른 메서드로 인식한다. 메서드 오버로딩은 이러한 특징을 이용한 것으로, 입력매개변수의 개..

Java 2023.03.10

Java 10. Method 메소드

Method 메서드는 클래스의 기능에 해당하는 요소이다. 예를 들어 자동차라는 클래스가 있다고 가정하면 자동차의 기능 중에는 전진하기, 후진하기, 회전하기, 멈추기 등등의 기능이 있을 것이다, 이 기능들이 메서드로 구성될 수 있다. 메서드 정의의 문법 구조를 먼저 살펴보면 아래와 같다. 자바의 메인 클래스 안쪽과 메인 메서드 바깥쪽에 public static void newLine()라는 메소드를 정의했다. 리턴 타입은 메서드 졸료 이후 변환되는 값의 자료형을 의미한다. 메서드명은 변수명 선정 규칙과 동일하며, 관례 적으로 소문자로 시작한다. 이후 소괄호 안에는 입력 parameter가 들어오는데, 이는 메서드를 호출할 때 전달되는 값의 자료형과 전달받은 값을 저장할지 역 변수명을 정의한다. 마지막 중괄..

Java 2023.03.09

Java 09. Array2 2차원 정방 행렬 배열

앞에서 배운 Array 배열은 1차원 배열이다. 2차원 배열은 가로 및 세로 방향의 2차원으로 데이터를 저장하는 배열이 2차원 배열이다. 그중 직사각형의 형태(모든 행의 길이가 같은 배열)를 띤 배열을 '2차원 정방 행렬 배열'이라고 한다. 2차원 배열을 선언할 때도 배열을 대괄호( [] )로 표시한다. 다만 1차원 배열과 다른 점은 2차원이라는 것을 나타내기 위해 2개의 대괄호를 표시한다는 것이다. 대괄호의 위치는 자료형 다음에 올 수 있고, 변수명 뒤에도 올 수 있다. 자료형과 변수명 뒤에 각각 하나씩 써도 상관없지만, 일관성을 고려해 자료형 뒤에 쓰는 것을 권장한다. 2차원 정방 행렬은 객체를 생성하는 데도 4가지 방법이 있지만! 각 방법을 이해하는 것보다 더 중요한 사실은 메모리는 2차원 데이터를..

Java 2023.03.08

Java 08. Array 배열 (참조 자료형, 참조 변수)

Array 배열이란? 배열은 동일한 자료형을 묶어 저장하는 참조 자료형이다. 배열은 1. 생성할 때 크기를 지정해야 하고, 2. 한 번 크기를 지정하면 절대 변경할 수 없는 특징이 있다. 이 2가지 특징은 배열의 선언과 객체 생성에도 적용되므로 반드시 기억해야 한다! 배열에서 데이터가 저장된 위치를 나타내는 정수를 index라고 하고, 배열의 마지막 인덱스는 배열의 원소 개수 (- 1)이다. 모든 배열은 배열의 길이(배열의 원소 개수)를 알려주는. length 속성을 가지고 있다. 정수 자료형 int와, 실수 자료형 double처럼 배열 자료형도 array와 같이 만들면 편할텐데 왜 "자료형 []" 형식을 사용하는 것일까? 여기서 배열의 첫 번째 특징을 알 수 있다고 함! 배열의 첫번째 특징! 배열은 동..

Java 2023.03.07

Java 07 - 1. continue 제어 키워드 (제어문, 반복문)

continue 제어 키워드는 반복 제어문의 닫힌 중괄호 ( } ) 역할을 하는 제어 키워드다. 반복 제어문은 조건식 true가 돼 실행 구문을 실행한 후 닫힌 중괄호를 만나면 다시 다음 반복을 위해 증감식을 수행하거나 (for문) 조건식을 검사 (while문)한다. 즉, 반복문 실행 도중 continue를 만나면 실행해야 할 코드가 남아 있더라도 마치 닫힌 중괄호를 만난 것처럼 다음 반복을 위해 증감식을 수행하거나 조건식을 검색한다는 뜻이다. continue는 주로 반복 과정에서 특정 구문을 실행하지 않고 건너뛰고자 할 때 사용한다. 다음 코드를 살펴보면 for문 내부의 첫 줄에 continue가 있다. continue를 만나면 아래쪽에 실행할 코드가 남아 있더라도 마치 닫힌 중괄호를 만난 것처럼 다음..

Java 2023.03.06

Java 07. break 제어 키워드 (제어문, 반복문)

제어 키워드에는 break;와 continue가 있다. break 제어 키워드는 if 문을 제외한 가장 가까운 중괄호( {} )를 탈출하는 제어 키워드다. 일반적으로 break는 반복문에서 특정 조건을 만족할 때 반복문을 탈출하는 데 사용한다. 아래는 10회 반복을 수행하는 for문 내부에 break가 포함돼 있다. 반복문이 실행되는 과정에서 break를 만나면 if문을 제외하고 가장 가까운 중괄호를 탈출하라는 의미이므로 for문을 탈출할 것이다. 그런데 한 번만 값을 출력하고 싶다면 굳이 for문을 쓸 필요가 없다. 그래서 break 키워드만 사용되는 때는 거의 없다. 일반적으로 아래처럼 if 문과 함께 사용해 특정 조건이 만족될 때 반복문을 탈출하도록 구성하는 것이 일반적이다. 여기서 꼭 기억해야 하..

Java 2023.03.06
728x90