728x90
반응형
자바(Java)를 처음 배우면서 가장 먼저 접하는 기초 개념들에 대해 정리해보았습니다. 객체지향 언어인 Java의 구조와 문법을 이해하면 이후의 학습도 훨씬 수월해집니다. 이 글에서는 생성자, this 키워드, 메서드 오버로딩, 접근 제한자 등 중요한 내용을 차근히 정리해보았습니다.
1. 생성자 (Constructor)
1)생성자란?
클래스로부터 객체를 생성할 때 자동으로 호출되는 특수한 메서드입니다. 객체의 초기화를 담당합니다.
public class Car {
String brand;
public Car(String brand) {
this.brand = brand;
}
}
Car c1 = new Car("현대");
- new 키워드와 함께 호출됩니다.
- 생성자 이름은 클래스 이름과 같아야 하며, 반환형이 없습니다.
2. this 키워드
1) this란?
this는 객체 자기 자신을 가리키는 참조 변수입니다.
주로 매개변수와 필드명이 동일할 때 구분을 위해 사용합니다.
public class Car {
String color;
public Car(String color) {
this.color = color; // this로 필드와 매개변수를 구분
}
}
- this.color는 필드변수
- color는 매개변수
3. 메서드 오버로딩 (Overloading)
1)오버로딩이란?
같은 이름의 메서드를 매개변수의 수나 타입이 다르게 정의하는 것을 의미합니다.
void print(String s) {
System.out.println(s);
}
void print(int n) {
System.out.println(n);
}
- 반환형이 같거나 달라도 상관없습니다.
- 컴파일러는 매개변수의 시그니처로 메서드를 구분합니다.
4. 패키지 (Package)
1) 패키지란?
자바 클래스 파일을 논리적으로 그룹화하기 위한 디렉토리 구조입니다.
패키지를 사용하면 클래스 관리가 쉬워지고, 동일한 이름의 클래스도 다른 패키지에서 사용할 수 있습니다.
package com.example.car;
public class Engine { }
다른 패키지에서 사용하려면 import로 불러와야 합니다.
import com.example.car.Engine;
- Ctrl + Shift + O로 자동 import 가능
5. 순차적 방법론 vs 객체지향 방법론
1) 순차적 방법론
순차적방법론이란?
절차 중심의 설계 방법입니다. 흐름이 고정되어 있고 순서를 반드시 따라야 합니다.
예: 1. 집에서 나옴 → 2. 버스를 탐 → 3. 학교 도착
2) 객체지향 방법론
객체지향방법론이란?
모듈화와 재사용성을 고려하여 객체 중심으로 프로그램을 구성합니다. 객체 간 상호작용으로 시스템이 구성됩니다.
6. 접근 제한자 (Access Modifier)
1) 접근제한자란?
클래스, 메서드, 변수 등에 접근 가능한 범위를 설정하는 키워드입니다.
접근제한자 | 같은 클래스 | 같은 패키지 | 상속 관계 | 외부 클래스 |
public | ✅ | ✅ | ✅ | ✅ |
protected | ✅ | ✅ | ✅ | ❌ |
(default) | ✅ | ✅ | ❌ | ❌ |
private | ✅ | ❌ | ❌ | ❌ |
private String name;
public String getName() {
return name;
}
- private으로 선언하면 외부 클래스에서 접근할 수 없습니다.
- 대신 getter, setter 메서드를 통해 접근합니다.
7. 상속 (Inheritance)
1) 상속이란?
기존 클래스(부모)의 속성과 기능을 새로운 클래스(자식)가 물려받는 기능입니다.
public class Animal {
void sound() {
System.out.println("동물 소리");
}
}
public class Dog extends Animal {
void bark() {
System.out.println("멍멍");
}
}
- is-a 관계로 표현됩니다.
- 자식 클래스는 extends 키워드를 통해 부모 클래스를 상속받습니다.
반응형
'1인칭 학습 시점_웹개발 > JAVA' 카테고리의 다른 글
[JAVA] 인터페이스, 내부 클래스, 예외 처리, 파일 입출력까지 한 번에 정리하기 (0) | 2024.05.30 |
---|---|
[JAVA] Java 객체지향 핵심 개념 정리 - 상속, 추상클래스, 인터페이스 (0) | 2024.05.29 |
[JAVA] Java 기초 개념 정리 – String 클래스, 전역변수와 지역변수, 열거형(enum) (0) | 2024.05.27 |
[JAVA] JAVA 기초 문법 총정리 - 반복문, 배열, 클래스, 메서드 개념 완전 정복 (0) | 2024.05.24 |
[JAVA] 자바 초급 문법 정리 - 연산자, 조건문, 형변환, 반복문 등 (0) | 2024.05.23 |