
Java는 객체 지향 프로그래밍 언어 중 하나이다.
객체란 현실 세계에 존재하는 물체일수도, 가상의 존재일 수도 있다.
객체는 각자 특징들을 가지고 어떤 행동들을 한다.
이런 아이디어를 바탕으로 프로그래밍의 요소를 객체로 표현하고, 이를 엮어 프로그래밍하는 것이다.
그렇다면 클래스는 무엇이고, 객체는 무엇일까?
1. 클래스는 빵틀, 객체는 찍어낸 빵
클래스는 이러한 객체를 다량으로 손쉽게 찍어낼 수 있도록 설계하는 틀과 같다.
즉 코드를 짜는 사람은 클래스를 정의함으로써 규격된 객체를 설계할 수 있다.

[코드 설명]
1. 클래스의 정의 / 생성자 생성
class Person { } : 사람이라는 클래스를 정의한다, 이후 클래스를 통해 생성되는 객체는 각자 단위의 사람임.
- 내부 변수(데이터 필드)의 입력값인 (String name, int age, int weight) : 클래스는 기본적으로 String형 이름, int형 나이, 몸무게를 가질 수 있다.
Person(String name, int age, int weight) : 객체 생성 시 초기값을 설정하는 생성자
- 본 생성자를 통해 Person p1 = new Person("이름", 나이, 몸무게) ;로 객체 및 해당 객체 내 내부 변수 선언이 가능하다.
- 생성자가 없으면 생기는 불상사
* Person p1 = new Person(); , p1.name = "Lee";, p1.age="82";, p1.weight="75";
와 같이 일일히 각 객체 선언마다 열심히 내부 변숫값을 설정해줘야 한다.
생성자는 이러한 번거로움을 줄이기 위한 편리한 초기값 설정을 도와준다.
★ 클래스 정의 시 생성자 설정을 안하면 디폴트 생성자를 자동으로 생성하여 실행한다.
* ex ) Person(){}
★ 하지만 직접 작성한 생성자가 있는 경우 디폴트 생성자를 만들지 않음.
2. 오버로딩 : 한 클래스 내에서 같은 이름의 메서드를 파라미터와 처리동작, 리턴값을 다르게 하여 여러 번 정의하는 것
- 객체 선언에 따른 생성자는 '오버로딩'을 통해서 최초 선언 방법을 다르게 설정했다.
이게 무슨 말이냐, 초기에 객체 선언을 할때 입력값에 따라 설정할 수 있는 변수의 수를 다르게 했다.
가. 이름, 나이, 몸무게를 한꺼번에 설정
나. 이름, 나이를 한꺼번에 설정
다. 이름만을 설정
라. 객체만을 선언 *default 생성자와 동일
생성자 또한 객체를 선언할 때 내부 데이터 값을 요긴하게 설정하게끔 도와주는 처리방식(메서드)의 종류기 때문에 오버로딩이 가능하다. 메서드와 오버로딩/오버라이딩에 관한 설명은 이후에 더욱더 자세히 하는 시간을 가져보겠다.
3. 생성자 오버로딩을 활용한 객체와 내부 데이터필드 변수값 선언

[결괏값]
Lee 45 98 |
같이 보면 좋을 포스팅
[java] java 상속과 오버라이딩
오버로딩에 이어 Person이라는 클래스를 정의하였다. - 구성 변수 2개 (이름 / String, 체중 / name) - 메서드 2개(eat : 먹는 행위를 정의, sleep : 자는 행위를 정의) 1. 상속의 정의 : 어떤 클래스 A가 가
doinitright.tistory.com
[개발방법론] 객체지향 프로그래밍, SOLID 원칙에 대한 설명
SOLID 원칙이란?객체지향적 프로그래밍에서 적용해야 할 핵심 5가지 원칙을 적용한 것으로, 소프트웨어 개발 전략의 일부입니다.프로그래머가 시간이 지나도 유지 보수와 확장, 리팩터링이 쉬운
doinitright.tistory.com
'DEV > Java' 카테고리의 다른 글
[java] java 접근 제어자 final, static, private (0) | 2023.07.27 |
---|---|
[java] 접근 제어자의 이해와 구현 예제(Access Modifier) (0) | 2023.07.26 |
[java] java 다형성, 슈퍼/서브(부모/자식) 클래스 형변환 (0) | 2023.07.26 |
[java] java 상속과 오버라이딩 (0) | 2023.07.25 |
IntelliJ 단축키 모음(윈도우) (0) | 2023.07.20 |