반응형

자바 16

자바 17. 상속, 포함관계

이번 글에서는 클래스 간의 관계에 대해서 상속과, 포함관계를 알아보도록 하겠습니다. 상속 상속은 자바에서 제공하는 아주 특별한 기술인데, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것입니다. 이를 통해 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고, 코드를 공통적으로 관리할 수 있습니다. 이러한 특징으로 코드의 재사용성을 높이고, 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여하는 기술입니다. 말만으로는 잘 모를 것 같은데, 간단하게 상속을 사용하는 법을 알아보도록 합시다. public class example{ public static void main(String[] args){ Parents p = new Parents(); Child c = new Child();..

자바 15. 생성자(Constructor)

이번 글에서는 생성자에 대해서 알아보도록 하겠습니다. 생성자(Constructor)란? 생서자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드' 입니다. 따라서 인스턴스 변수의 초기화 작업등 인스턴스 생성 시에 실행되어야 하는 작업을 위해 사용됩니다. 생성자도 메서드처럼 클래스 내에 선언되며, 구조도 유사하지만 리턴값이 없습니다. 생성자의 조건은 다음과 같습니다. 1. 생성자의 이름은 클래스의 이름과 같아야 한다. 2. 생성자는 리턴값이 없다. 다음으로 생성자를 정의하는 방법입니다. 클래스이름(타입, 변수명, 타입 변수명, ...){ //인스턴스 생성 시 수행될 코드 } Tv(){ //매개변수가 없는 생성자 } Tv(int height, int width){ //매개변수가 있는 생성자 } 이 생..

자바 14. 메서드 오버로딩

객체지향 프로그래밍 이어서 공부해보도록 합시다. 메서드 오버로딩(method overloading) 이번 글에선 먼저 메서드 오버로딩에 대해서 알아보도록 하겠습니다. 먼저 메서드는 저번 글에서 말했다시피 이름이 같아도 매개변수의 개수, 또는 타입이 다르면 서로 다른 메서드로 인식됩니다. 이렇게 한 클래스 내에서 같음 이름을 가진 여러개의 메서드를 정의하는 것을 메서드 오버로딩 또는 간단히 오버로딩 이라고 합니다. 메서드 오버로딩의 조건은 다음과 같습니다. 1. 메서드 이름이 같아야 한다. 2. 매개변수의 개수 또는 타입이 달라야 한다.(매개변수의 이름은 상관없음) 3. 매개변수는 같고 리턴타입이 다른 경우는 오버로딩이 성립되지 않는다. 위의 조건을 만족시키지 못하면 컴파일 시에 오류가 발생하니 꼭 주의하..

자바 12. 클래스와 객체

이미 아시다시피 자바는 대표적인 객체지향 언어 중 하나입니다. 객체지향의 주요 특징은 다음과 같습니다. 1. 코드의 재사용성이 높다. -새로운 코드를 작성할 때 기존의 코드를 사용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다. -코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. -제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오작동을 방지할 수 있다. 이 중에서도 객체지향언어의 가장 큰 장점은 코드의 재사용성이 높고, 유지보수가 용이하다는 점인데, 앞으로 알아볼 여러가지 객체지향개념을 통해서 보다 쉽게 이해할 수 있을 것입니다. 그러면 이제 자바에서 어떻..

자바 11. 배열-2

배열에 대해서 이어서 알아보도록 하겠습니다. 다차원 배열 우리가 지금까지 보았던 배열은 모두 '1차원 배열'이라고 부르는 것들입니다. 복수의 자료형을 메모리 공간상에 선형, 즉 1차원으로 잡혀있기 때문에 이처럼 부르는 것입니다. 자바에서는 1차원 배열 외에도 2차원 이상의 배열도 사용할 수 있도록 허용하고 있습니다. 물론 메모리 공간에서는 동일하게 연속적인 공간일 뿐이고, 편의상 이처럼 부르는 것입니다. 이렇게 2차원 이상의 배열들을 다차원 배열이라고 이야기하는데, 다차원 배열들은 각각 자신보다 한 단계 아래 차원의 배열들을 요소로 하는 배열입니다. 예를 들어 2차원 배열은 1차원 배열들을 각 요소로 가지며, 3차원 배열들은 1차원 배열을 각 요소로 하는 2차원 배열을 요소로 가지게 됩니다. 즉 '배열의..

자바 10. 배열-1

이번 글에서는 배열에 대해서 알아보도록 하겠습니다. 배열이란? 배열이라는 것은 특정한 자료형의 여러 변수들을 하나의 묶음으로 다루는것을 이야기합니다. 만약 여러분이 숫자 5개를 저장해야된다면 변수를 어떻게 선언하실건가요? public class example{ public static void main(String[] args){ int n1, n2, n3, n4, n5; } } 숫자의 개수가 5개인 경우엔 위와 같이 별 어려움 없이 해결할 수 있습니다. 하지만 이런때 늘 나오는 이야기로, 저장할 숫자가 100개, 1000개, 혹은 10만개라면? 이런 경우엔 위와 같은 방법으론 해결할 수 없으실겁니다. 이때 배열을 사용하면 이를 손쉽게 다룰 수 있습니다. 배열의 기본 형식은 다음과 같습니다. 자료형[] ..

자바 9. 반복문

이번 글에선 반복문에 대해서 알아보도록 합시다. 프로그래밍 언어에서 반복문은 조건문과 마찬가지로 정말 필수적인 요소입니다. 만약 여러분이 특정한 데이터, 또는 문자열을 여러번 출력하려면 어떻게 하실 건가요? public class example{ public static void main(String[] args){ System.out.print("자바 9. 반복문"); System.out.print("자바 9. 반복문"); System.out.print("자바 9. 반복문"); System.out.print("자바 9. 반복문"); System.out.print("자바 9. 반복문"); } } 당장은 이렇게 하면 원하는 문자열을 5번 출력할 수 있을 것입니다. 하지만 이것이 5번이 아닌 100번, 10..

자바 8. 조건문

이번 글에선 조건문에 대해서 알아보도록 합시다. 조건문은 특정한 조건에 대해서 그 조건이 true, false인지에 따라 각각 다른 동작을 하도록 해주는 문법입니다. 조건문은 조건식과 실행할 코드를 포함하는 블럭{}으로 구성되어 있습니다. if문 if문은 가장 일반적으로 사용되는 조건문이며 기본 구조는 다음과 같습니다. if(조건식){ 실행코드 } 위와 같이 사용하면 조건식이 true일 때 블럭 내의 코드를 실행합니다. 이때 실행할 코드가 한 줄이라면, {}를 생략할 수 있습니다. 다음으로 이 조건이 false일 때 코드를 실행하는 법을 살펴봅시다. if(조건식){ 실행코드 }else{ 실행코드2 } 위와 같이 사용하면 조건식이 false일 때는 else뒤의 블럭에 있는 코드가 실행됩니다. 마찬가지로 코..

자바 7. 연산자-2

비교 연산자 1. 대소 비교 연산자 , = 이 네가지 연산자의 경우 따로 설명할 필요 없을 거라 생각합니다. 여러분이 수학에서 사용하던 비교연산자와 동일한 동작을 수행하고, 결괏값은 boolean형 입니다. 주의할 점은 기본형에선 boolean외에 모든 자료형에 사용할 수 있지만, 참조형에는 사용할 수 없습니다. public class example{ public static void main(String[] args){ int a = 10; int b = 20; System.out.print(a > b); } } 2. 등가비교 연산자 ==, != 이 두 연산자의 경우 두 피연산자의 값이 같은지, 같지 않은지 비교하는 연산자인데, 수학에서는 두 수가 같을 경우 =을 사용하지만 자바에서 =는 이미 대입 연..

자바 6. 연산자-1

이번 글에선 자바에서 사용하는 연산자에 대해서 알아보도록 하겠습니다. 연산자란? 연산자가 무엇인지는 다들 아실 거라고 생각합니다. 수식 3 + 2 * 6이 있다고 가정하면, 이때 +, *를 연산자, 3, 2, 6을 피연산자라고 합니다. 이 연산자들은 자바에서 매우 기본적이고 중요한 요소이기 때문에 각 연산자의 기능, 특징, 우선순위 등을 반드시 기억해야 합니다. 먼저 표를 통해 어떤 연산자가 있는지 간단히 확인해봅시다. 표를 보시면 연산방향이라는 것이 있습니다. 이것은 같은 우선순위를 가진 연산자들이 함께 있을 때, 식을 어느방향으로 계산하느냐를 표시해놓은 것입니다. 예를 들어 3 * 2 / 10같은 경우 연산방향이 왼쪽에서 오른쪽이기 때문에 (3 * 2) / 10과 같은 연산결과가 계산될 것입니다. 반..

반응형