1. 객체지향이란
객체 지향 프로그래밍(OOP, Object-Oriented Programming)
객체 지향 프로그래밍에서는 모든 데이터를 객체(object)로 취급하며, 이러한 객체가 바로 프로그래밍의 중심이다.
(지금은 이해하기 어렵겠지만 뒤의 클래스와 인스턴스를 배우면서 더 공부해 보자!)
참고자료:
www.tcpschool.com/java/java_class_intro
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
2. 메소드(method)
메소드란 어떠한 특정 작업을 수행하기 위한 명령문의 집합이라 할 수 있다.
--> C언어에서의 새로운 함수만드는 것과 비슷한 것 같다.
메소드를 사용하는 이유
메소드를 사용하는 주된 이유는 중복되는 코드의 반복적인 프로그래밍을 피하기 위함이다. 반복적인 명령을 계속하는 것보다 메소드를 사용하면 코드의 가독성 또한 좋아지게 되고, 가독성이 좋아진다면 나중에 프로그램이 무넺가 발생하거나 기능의 변경이 필요할 때도 손쉽게 유지보수를 할 수 있게 된다.
메소드 정의
자바에서 메소드를 정의하는 방법을 알아보자.
접근제어자 반환타입 메소드이름(매개변수목록) { // 선언부
// 구현부
}
--> C언어에서 함수를 정의할 때 했던 형식과 상당히 유사한 거 같다 :)
<실습>
직접 한번 메소드를 활용해 보자.
package org.opentutorials.javatutorials.numberstring;
public class Number {
public static void numbering(int a) {
int i=0;
while (i<a) {
System.out.print(i);
i++;
}
System.out.println();
}
public static void main(String[] args) {
numbering(5);
numbering(4);
numbering(3);
}
}
결과:
01234
0123
012
참고자료:
www.tcpschool.com/java/java_methodConstructor_method
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
3. 객체와 클래스
쉽게 말해 객체는 제품, 클래스는 설계도로 비유할 수 있다.
JAVA 강좌 13편. 객체와 클래스(Objects and Classes)
1. 객체(Object) 클래스를 배우기 전 객체(Object)가 무엇인지 알아둘 필요가 있습니다. 우리가 알고있듯이 자바는 객체 지향 프로그래밍(OOP: Object Oriented Programming) 언어입니다. (이 객체 지향 프로그
blog.hexabrain.net
2-1. 클래스 선언
클래스의 선언은 두가지 방법으로 할 수 있다.
1.
클래스 변수명 = new 클래스();
2.
클래스명 변수명;
변수명 = new 클래스();
2-2. 클래스 구성
클래스의 구성멤버에는 필드, 생성자, 메소드가 있다. (각각은 생략이 가능하고, 여러개를 만들 수 있음!)
1. 필드는 객체의 데이터가 저장되는 곳으로 선언 형태는 변수 선언과 비슷하지만, 필드는 생성자와 메소드 내에서만 사용되고 생성자와 메소드의 실행이 끝나면 자동 소멸된다!
2. 생성자는 객체 생성 시 필드를 초기화하거나, 메소드를 호출하여 객체를 사용할 준비를 한다. 자세한 것은 2-3에서 다루겠다.
3. 메소드는 객체의 동작을 수행한다! 메소드에 대한 것은 위에서 자세히 다루었다 :)
2-3. 생성자
생성자는 메소드와 비슷한 모양을 가지고 있지만, 리턴타입이 없고 클래스 이름과 동일해야 한다.
클래스이름 변수 = new 클래스 이름(초기화 값);
참고:
programmer-seva.tistory.com/79
[스터디_자바 기본] 21. 생성자(Constructor)
생성자(Constructor)는 new 연산자와 같이 사용되어 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당한다. 인스턴스 변수의 초기화 작업에 주로 사용되며, 인스턴스 생성 시에 실행되
programmer-seva.tistory.com
2-5. 인스턴스
인스턴스(instance): 설계도(클래스)를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체(제품같은 것)이라고 할 수 있다.
1.
클래스 변수명 = new 클래스();
2.
클래스명 변수명;
변수명 = new 클래스();
2-6. 인스턴스 변수와 클래스 변수
인스턴스 변수: 인스턴스가 생성되었을 때, 인스턴스 안에 존재하는 변수
형태:
class 클래스이름{
int num;
}
클래스 변수: 인스턴스 생성과 상관없이 클래스 안에 존재하는 변수
클래스 변수는 인스턴스 변수에 static을 붙여주면 되는 것으로 인스턴스 변수는 각각 고유한 값을 가지는 것과는 달리 클래스 변수는 모든 인스턴스가 같은 값을 가지게 한다.
--> 즉, 한 클래스의 모든 인스턴스들이 공통적인 값을 가져야 할 때 사용!!
형태:
class 클래스이름{
static int num;
}
*클래스 변수와 비슷하게 클래스 매소드도 존재한다. (매소드 선언 전에 static을 붙이면 됨)
참고:
[JAVA] 자바의 변수 (클래스 변수, 인스턴스 변수, 지역 변수)
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 선언 위치에 따른 변수의 종류 자바에서의 변수는 클래스 변수, 인스턴스 변수, 지역 변수가 있습니다. 변수의 종류를 결정짓는 것은 '변수가 선언
itmining.tistory.com
<실습>
계산기 클래스를 만들어 실행해보자!!
package org.opentutorials.javatutorials.numberstring;
class Cal{
int first, second;
public void set(int left, int right) {
this.first = left;
this.second = right;
}
public void sum() {
System.out.println(this.first + this.second);
}
public void sub() {
System.out.println(this.first - this.second);
}
public void mul() {
System.out.println(this.first * this.second);
}
public void div() {
System.out.println(this.first / this.second);
}
}
public class Number {
public static void main(String[] args) {
Cal c1 = new Cal();
c1.set(10, 5);
c1.sum();
c1.sub();
c1.mul();
c1.div();
}
}
'자바 공부' 카테고리의 다른 글
상속(개념, 클래스 상속, 부모 생성자 , 다형성, 추상 클래스) (0) | 2021.02.16 |
---|---|
this와 접근 제어자 (1) | 2021.01.31 |
참조타입/배열(2차원배열, 다차원 배열, 가변배열) (2) | 2021.01.16 |
백준 연습문제(JAVA공부) 2739, 2839, 10430 문제풀이 (2) | 2021.01.16 |
변수와 자료형(변수 타입, 선언, 데이터 타입, 형변환)/조건문&반복문/연산자 (2) | 2021.01.09 |