본문 바로가기

개발언어/Java : 자바22

자바 쉽게 배우기 10 - 다양한 클래스와 인터페이스 자바의 다양한 클래스 - 추상 클래스, 내부 클래스, 익명 클래스추상 클래스 abstract class자바 쉽게 배우기 8 - 상속과 제어자에서 abstract 키워드에 대해 설명드렸습니다. 추상클래스는 추상메서드를 가지고 있는 클래스를 뜻합니다. 추상메서드는 구현부 {}가 없는 메서드로, 오버라이딩으로 구현부를 완성시켜야 사용할 수 있습니다.추상클래스는 불완전한 형태이기 때문에 인스턴스를 생성할 수 없습니다. 이러한 규칙 때문에 인스턴스 생성을 제한하기 위한 용도로 추상메서드가 없는 클래스를 추상 클래스로 선언하기도 합니다.추상클래스를 사용하기 위해서는 추상클래스를 상속받아 추상메서드를 구현하고 인스턴스를 생성합니다. 추상클래스를 상속받을 땐 extends 키워드를 사용합니다. abstract clas.. 2023. 1. 21.
자바 쉽게 배우기 9 - 다형성 다형성 polymorphism 객체지향 프로그래밍 언어는 다섯 가지의 특징을 가집니다. [캡슐화], [정보 은닉], [추상화], [상속성], [다형성] 이 5가지입니다. [캡슐화]와 [정보은닉]은 접근 제어자를 설명드릴 때 한 번 나왔습니다. 캡슐화란 알약을 만들 때 여러 재료를 섞어 하나의 캡슐을 만드는 것에 비유할 수 있습니다. 자바의 클래스는 데이터(속성)와 데이터를 처리하는 함수(메서드)를 하나로 묶어줍니다. 속성과 메서드가 재료라고 할 때 클래스의 인스턴스는 하나의 캡슐이 되겠죠. 이렇게 캡슐에 담긴 재료들은 외부로부터 보호되며, 캡슐을 사용하는 사람들은 캡슐 안의 재료가 무엇인지 세세히 알 필요가 없습니다. 이렇듯 캡슐화를 사용하게 되면 보안성이 강화되고 여러 속성과 메서드가 묶여 있으므로 재.. 2023. 1. 14.
자바 쉽게 배우기 8 - 상속과 제어자 상속 Inheritance 상속 상속은 [물려줌], [물려받음]을 의미합니다. 자바에서 클래스는 다른 클래스를 상속받을 수 있습니다. 상속받은 클래스는 상속해 준 클래스의 멤버들을 재사용할 수 있습니다. 중복되는 코드를 줄이는 아주 효율적인 방법입니다. 다만, 자바에서는 둘 이상의 클래스로부터 상속을 받을 수 없습니다. (다중 상속을 지원하지 않습니다) 상속과 관련된 다양한 이름들 상속 해준 클래스 상속 받은 클래스 조상 클래스 자손 클래스 부모 클래스 자식 클래스 상위 클래스 하위 클래스 기반 클래스 파생된 클래스 형식 클래스를 정의할 때 클래스명 옆에 [extends 상위클래스명]을 붙여 상속받을 수 있습니다. class 하위클래스 extends 상위클래스 특징 상속받은 하위클래스의 생성자 첫 줄에서.. 2023. 1. 12.
자바 쉽게 배우기 7 - 생성자 클래스로 인스턴스를 만들기 위해서는 클래스에 적절한 생성자가 구현되어 있어야 합니다. 생성자를 만들고 사용하는 법을 알아봅시다. 생성자 Constructor 생성자 모든 클래스에는 생성자가 포함됩니다. 클래스 안에 생성자를 정의하지 않았을 때에도 보이지 않지만 기본생성자가 자동으로 추가됩니다. 생성자는 인스턴스를 생성할 때 호출되는 메서드입니다. 이전 글에서 [사람] 클래스에서 [철수]와 [영희] 인스턴스를 만드는 예시를 들었었죠. 인스턴스마다 생성자의 매개변수를 다르게 대입하여 같은 클래스에서도 다른 특징을 가진 인스턴스를 만들어 낼 수 있습니다. 생성자는 주로 인스턴스 변수들을 초기화하는 데 사용됩니다. (인스턴스를 생성하는 것은 생성자가 아닌 new 연산자입니다.) 자바에서 생성자의 이름은 클래스의.. 2023. 1. 8.
자바 쉽게 배우기 6 - 클래스와 객체 이번글에서는 클래스와 객체에 대해 알아봅시다. 그전에 왜 자바에서는 클래스와 객체를 사용하는 지부터 살펴봅시다. 자바는 객체지향 프로그래밍 언어입니다. 객체가 무엇일까요? 넓은 의미에서 객체는 이 세상에 존재하는 모든 것들을 의미합니다. 형상이 있는 것과 없는 것 모두 객체가 될 수 있습니다. 컴퓨터에게 실제 세계를 이해시키기 위해서는 현실의 사물을 컴퓨터가 이해할 수 있는 방식으로 해석해 주는 과정이 필요합니다. 우리는 그 과정에서 객체를 사용하게 되죠. 철수라는 객체를 만들어 봅시다. 철수 객체에는 나이, 성별, 직업, 하는 행동 (블로그 포스팅, 개발, 유튜브 시청) 등의 정보가 포함되어 있습니다. 물론 현실의 철수가 가지는 정보만큼 방대한 양을 담는 것은 무리겠지만 철수를 표현하는 것에는 무리가 .. 2023. 1. 6.
자바 쉽게 배우기 5 - 배열 배열 Array 배열 배열은 같은 타입의 여러 데이터를 하나로 묶어 보관하는 구조입니다. 데이터들은 Index라는 번호를 통해 구분됩니다. 배열은 자바 쉽게 배우기 2 - 변수에서 설명한 참조 타입에 속합니다. 따라서 배열 변수에는 메모리 주소가 저장됩니다. 배열 선언 변수 선언과 생성, 초기화를 기억하시나요? 배열 선언과 생성은 변수와 비슷하지만 대괄호([])가 사용된다는 차이점이 있습니다. 배열의 타입을 지정하여 타입에 맞는 크기의 저장 공간이 확보되게 하고, 배열에 이름을 붙여줍니다. 타입[] 변수이름; 타입 변수이름[]; 두 방법 모두 가능합니다. int[] arrName; int arrName[]; 배열 생성 값을 저장할 수 있는 공간을 만들어 줍니다. 한 번 생성된 배열을 그 길이를 수정할 수.. 2023. 1. 4.
자바 쉽게 배우기 4 - 조건문과 반복문 프로그래밍의 핵심 조건문과 반복문에 대해 살펴봅시다. 조건문과 반복문은 프로그램의 흐름을 제어하는 제어문입니다. 조건문에는 if, switch문이 있고, 반복문에는 for, while, do-while문이 있습니다. 각 제어문의 형식과 실행 흐름에 대해 살펴보겠습니다. 블록은 중괄호({})로 묶이는 하나의 단위입니다. 여러 문장을 한 단위로 묶는 역할을 합니다. 조건문 if 문 : 조건식이 참일 때 수행하고 싶다면 조건식을 계산합니다. 조건식이 참일 때 if 블록 {} 안의 문장들을 수행합니다. 조건식이 참이 아닐 때 위에서부터 순차적으로 다음 else if 조건식이 참이 되는지 확인합니다. 참이 되는 조건식의 블록 {} 안의 문장들을 수행합니다. 어떤 조건식도 만족시키지 않을 때 else 블록 {} 안.. 2023. 1. 3.
자바 쉽게 배우기 3 - 연산자 연산자 Operator 프로그래밍에서 연산자는 연산을 지시하는 부호를 뜻합니다. 피연산자는 연산의 대상으로 연산자의 양옆에 위치하게 됩니다. 예시 ) 4 + 5 4, 5 : 피연산자 + : 연산자 연사자의 종류에 따른 분류 종류 연산자 부호 연산자 + - 증감 연산자 ++ -- 논리 부정 연산자 ! 비트 부정 연산자 ~ 산술 연산자 + - * / % 쉬프트 연산자 > 비교 연산자 > = 0101 산술 연산자 + - * / % 수를 연산합니다. 덧셈 + , 뺄셈 - , 곱셈 * , 나눗셈 /, 나머지 % 계산이 가능합니다. 덧셈 +의 경우 수의 산술 연산뿐만 아니라 문자나 문자열의 덧셈도 가능합니다. (사실 문자는 유니코드로 환산되기 때문에 수의 산술입니다.) 주의 사항 정수 나누기 int n1 = .. 2023. 1. 2.
자바 쉽게 배우기 2 - 변수 이번 글에서는 본격적으로 JAVA언어에 대해 배워보겠습니다. 변수에 대해 알아봅시다. 변수 Variable 1. 변수의 개념 프로그래밍 언어를 처음 공부하시는 분들이라면 변수라는 단어를 봤을 때 수학의 변수. 즉, 변하는 값을 떠올리시겠죠? 하지만 프로그래밍에서의 변수는 값. 즉, 데이터가 아닌 데이터를 담는 메모리를 의미합니다. 저번 글에서 자바의 [자동 메모리 관리]를 설명할 때 컴퓨터에게 명령을 내리는 과정에서 메모리라는 저장공간을 사용하게 된다고 말씀드렸습니다. 필요한 데이터/ 명령어를 메모리에 저장해 놓고 필요할 때 가져다 쓴다고 했죠. 우리가 저장된 데이터를 찾을 땐 메모리의 주소값을 사용합니다. 현실에서 건물의 주소로 특정 장소를 찾는 것처럼요. 변수는 메모리이고, 변수의 이름은 메모리의 주.. 2023. 1. 1.
자바 쉽게 배우기 1 - 자바란 무엇인가? 1. 자바(JAVA) 공부의 첫걸음 자바는 프로그래밍 언어입니다. 프로그래밍 언어는 사람과 컴퓨터 사이의 소통을 위해 만들어졌습니다. 개발자들은 프로그래밍 언어를 사용해 컴퓨터에게 명령을 내립니다. 다양한 프로그래밍 언어가 있지만 각 언어마다 다른 특징을 가지고 있기 때문에 개발 목적에 맞는 언어를 선택하는 것이 좋습니다. 자바는 다양한 분야에 사용되고 있습니다. 웹 서버 / 클라우드 / 안드로이드 앱 개발에 관심이 있다면 자바를 공부하는 것이 좋습니다. TIOBE에 따르면 22년 12월 기준 자바는 프로그래밍 언어 중 4위에 해당하는 인기 순위를 차지하고 있습니다. 과거에 비해 인기가 떨어지긴 했지만 자바의 견고한 안정성 때문에 상위권에서 쉽게 벗어나지 않을 것입니다. 특히 한국에서의 사용 점유율이 높.. 2022. 12. 30.