클래스의 개념 🙄

리무 rimu ·2022년 11월 8일
0

Java

목록 보기
4/35
post-thumbnail

객체지향 프로그래밍(OOP, Object-Oriented Programming)

모든 데이터를 객체(object)로 취급하며, 이런 객체가 프로그래밍의 중심이 됨.

객체란?
실생활에서 우리가 인식할 수 있는 사물을 뜻함
이러한 객체의 상태state행동behavior를 구체화하는 형태의 프로그래밍이 객체지향프로그래밍.
이때 객체를 만들어 내기 위한 설계도와 같은 개념을 클래스 class 라 함

인스턴스(instance)
자바에서 클래스를 사용하기 위해서 해당 클래스 타입의 객체(object)를 선언해야 함
→ 이렇게 클래스로부터 객체를 선언하는 과정을 클래스의 인스턴스화라고 함, 즉 인스턴스란 메모리에 할당된 객체를 의미.

클래스의 예
클래스(class)
-차(Car): 설계도
-필드(field)
car.modelName = "람보르기니";
car.modelYear = 2016;
car.color = "yellow";
car.maxSpeed = 400;

메소드(method)
자바에서 클래스는 멤버member로 속성을 표현하는 필드와 기능을 표현하는 메소드를 가짐.
그중에서 메소드는 어떠한 특정 작업을 수행하기 위한 명령문의 집합이라 할 수 있음.

접근제어자 반환타입 메소드이름(매개변수목록) { //선언부
// 구현부
}

car.accelerate()
car.brake()

인스턴스(instance)
내 차(myCar)🚗: 설계도에 의해 생산된 차
친구 차(friendCar)🚙: 설계도에 의해 생산된 또 다른 차
즉, 자동차 인스턴스는 모두 위와 같은 필드와 메소드를 가짐
하지만 각 인스턴스마다 가지고 있는 프로퍼티의 값은 전부 다름

접근제어자: 해당 메소드에 접근할 수 있는 범위를 명시
반환 타입: 메소드가 모든 작업을 마치고 반환하는 데이터 타입을 명시
메소드 이름: 메소드를 호출하기 위한 이름을 명시
매개변수 목록(parameters):
메소드 호출 시에 전달되는 인수의 값을 저장할 변수들을 명시
구현부: 메소드의 고유 기능을 수행하는 명령문의 집합

자바에서는 하나의 클래스에 같은 이름의 메소드를 둘 이상 정의할 수 없음😕
하지만 메서드 오버로딩 overloading을 이용하면,
같은 이름의 메서드를 중복해서 정의 가능😉
메서드 오버로딩이란 매개변수타입을 다르게 하여
같은 이름의 또 다른 메서드를 작성

이러한 메서드오버로딩을 사용함으로서 메서드에 사용되는 이름을 절약가능!
또한, 메서드를 호출할 때 전달해야 할 매개변수(파라미터)의 타입이나 개수에 대해 크게 신경쓰지않고 호출할 수 있게 됨.

참고: http://www.tcpschool.com/java/java_class_intro

profile
JAVA / SQL / Spring 을 공부하고 있습니다 🐥

0개의 댓글