Java 프로그래밍 : 객체지향 (1)
자바의 특징
- 세계적으로 가장 많이 쓰이는 언어 중 하나!
- Windows, Android, MacOS, UNIX 등 다양한 환경에서 동작한다.
- 객체지향 언어이다.
OOP
Object-Oriented Programming, 조립식 프로그래밍.
자바의 장점
- 유지보수하기가 편하다.
- 객체를 재사용할 수 있다.
- 프로그램 확장이 편리하다.
클래스와 객체
클래스(Class)는 자바 프로그래밍의 최소 단위이며, 객체(Object)를 만들기 위한 설계도라고 할 수 있다. 또한 오브젝트를 인스턴스라고 부르기도 해서, 클래스를 통해 객체를 만들어내는 과정을 인스턴스화라고 한다.
- 클래스 : 설계도
- 오브젝트 : 부품
- 프로그램 : 자전거
// Pizza 클래스 - 프로그램의 최소 단위
public class Pizza {
// 메인 메소드 - 프로그램 실행의 시작점
public static void main(String[] args) {
// 실행될 코드들..
}
}
메인 메소드 : 클래스 내부에 위치하며, 프로그램 실행의 시작점.
클래스
클래스는 필드(field)와 메소드(method)로 이루어져 있다. 따라서 클래스를 만드는 방법은 아래와 같다.
- 필드를 작성한다.
- 메소드를 정의한다.
- field :객체가 가지게 될 상태
- method: 객체가 할 동작
클래스 생성 예시
예를 들어 강아지 클래스를 만든다면 field 는 이름, 품종, 몸무게 등. 그리고 method는 짖기, 꼬리 흔들기 등이 있을 수 있다.
class Dog{
//field
String name;
String breed;
double weight;
//method
public static String bark(){
System.out.println("멍멍!!");
}
}
method 생성 예시
public static 반환타입 메소드이름 (입력 변수){
변수 생성
값 계산
값 반환
}
생성자
클래스로부터 객체를 생성하는 특별한 메소드로, 객체 생성 및 초기화 역할을 담당한다. 생성자도 메소드이므로 호출과 정의로 나누어진다.
변수 타입
(1) 레퍼런스형
클래스 타입, 사용자 정의형 타입이라고도 불림. 객체를 변수에 연결하기 위한 타입으로, 객체를 간접적으로 가르키는 형태. 대문자로 시작한다. (ex. String, hero, ...)
- Dog jindo = new jindo("시고르자브종", 3);
(2) 기본형
반면, 레퍼런스형과 달리 기본형 변수는 객체가 아닌 값을 직접 가진다. 그리고 소문자로 시작한다. (ex. int, double, boolean, ...)
- int age = 3;
Static
공유의 개념을 가진 키워드로, 필드와 메소드에 적용될 수있다. 필드에 적용되면 클래스 변수, 메소드에 적용되면 클래스 메소드라고 부른다. 클래스 변수는 객체 외부 클래스 영역에서 공유된다.
반면 None static field, 다시말해 static 이 없는 인스턴스 변수는 객체 내부에 존재한다.
class Student {
//클래스(공유) 변수
static int count = 0;
//인스턴스(멤버) 변수
int id;
String name;
}
또한, 클래스 메소드(스태틱 메소드)는 클래스가 동작시키는 메소드이며 인스턴스 메소드는 간편한 기능 (ex. Math.random)을 구현할 때 사용하기에 유용하다.
🙏 참고 강의
- 인프런 홍팍님 강의 (⭐⭐⭐⭐⭐)
-> 그림으로 배우는 자바, 파트2: 객체지향!
Author And Source
이 문제에 관하여(Java 프로그래밍 : 객체지향 (1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wijoonwu/JAVA저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)