반응형

프로그래밍 언어 99

자바 16. 변수의 초기화

이번 글에서는 변수의 초기화에 대해서 알아보도록 합시다. 다들 아시다시피 초기화란 변수를 선언하고 처음으로 값을 저장하는 것을 말합니다. 이 초기화는 필수적일 때도 있고, 선택적일 때도 있지만, 가능하면 선언과 동시에 초기화하는 것이 좋습니다. 이때 지역변수, 즉 메서드 내에 선언되어 있는 변수들은 사용하기 전에 꼭 초기화를 해주어야 하지만, 멤버변수는 초기화를 하지 않아도 자동으로 변수의 자료형에 따라 기본값이 저장되기 때문에 초기화 없이 사용이 가능합니다. 예를 들어 위와 같은 상황에서 인스턴스변수인 x는 자동으로 int의 기본값인 0이 저장되기 때문에 y에 값을 대입할 수 있습니다. 반면 지역변수인 i는 선언후 값을 초기화하지 않았기 때문에 j에 값을 대입할 수가 없어 오류가 발생합니다. 각 자료형..

자바 15. 생성자(Constructor)

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

자바 14. 메서드 오버로딩

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

자바 13. 변수의 종류, 메서드

객체지향 프로그래밍에 대해 이어서 알아보도록 하겠습니다. 이번 글에서는 변수의 위치에따른 종류와 메서드에 대해서 알아보겠습니다. 위치에 따른 변수의 종류 자바에서 변수는 해당 변수를 어느 위치에 선언하느냐에 따라 클래스변수, 인스턴스변수, 지역변수의 세 종류로 나뉩니다. 인스턴스변수(instance variable) 인스턴스변수는 클래스 영역에 선언되며, 해당 클래스의 인스턴스를 생성할 때 만들어집니다. 때문에 인스턴스변수를 사용하려면 당연히 인스턴스를 먼저 생성해야 합니다. 또한 인스턴스는 여러 개 생성할 수 있고, 각 인스턴스의 인스턴스변수는 서로 독립적입니다. 각 인스턴스마다 독립적인 데이터를 저장해야 할 때, 인스턴스변수를 사용합니다. 클래스변수(calss variable) 클래스변수는 선언되는 ..

자바 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. 등가비교 연산자 ==, != 이 두 연산자의 경우 두 피연산자의 값이 같은지, 같지 않은지 비교하는 연산자인데, 수학에서는 두 수가 같을 경우 =을 사용하지만 자바에서 =는 이미 대입 연..

반응형