프로그래밍 공부/JAVA
JAVA - 객체지향 프로그래밍 (OOP)
뚜뚜:)
2020. 10. 12. 18:17
객체지향 프로그래밍 (Object Oriented Prigramming)
- 프로그래밍을 단순히 코드의 연속으로 보는것
- 코드의 재사용이 높고 유지보수가 용이하다 ( 메서드를 사용하여 반복적으로 사용하는것이 효율적)
=> 만들고자 하는 완성품인 객체를 모델링하고,
집합관계에 있는 부품객체와 사용관계에 있는 객체를 하나씩 설계 후 조립하는 방식
1. 객체
-물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중 자신의 속성을 가지고 있고, 다른것고 식별 가능한것
-속성(필드)과 동작(메소드)로 구성되어있다,
2. 객체의 상호작용
- 상호작용 수단 : 메소드
- 다른 객체의 기능을 이용 : 메소드 호출 (리턴값 = 객체 . 메소드이름(매개값1))
리턴값 : 실행하고나서 호출한 곳으로 값을 돌려줌
매개값 : 메소드를 실행하기 위한 데이터
3. 객체지향 프로그래밍의 특징
캡슐화, 상속화, 다형성 (나중에 따로 자세히 설명)
- 캡슐화 : 객체의 필드, 메소드를 하나로 묶어 실제 구현내용을 감추는 것
-> 외부의 잘못된 사용으로 객체의 손상을 막는다 (접근제한자 사용)
- 상속 : 부모-> 자식에게 물려주는것
- 다형성 : 같은 타입이지만 실행결과가 다양한 객체를 이용할 수 있는 성질, 타입변환
public class SampleClass {
public static void main(String[] args) {
//<-메서드
int local=10; // 지역변수 : { } 메서드안에서만 사용하는 변수
}
int field; // 전역변수 : 클래스 전체 영역에서 사용하는 변수
//초기화하지 않아도 기본값으로 초기화된다.
boolean bool = false;
String str = null;
/*
* - 메서드 : 변수를 가지고 할 일
* - 선언방법 : 리턴타입 메서드명 (파라미터) { }
* - 파라미터 (매개변수) : 실행에 필요한 정보
* - 리턴타입 (반환타입) : 실행 후 돌려줘야하는 결과물
*
*/
void method1(){
//return이 없어 void를 적어줌
System.out.println("파라미터도 리턴타입도 없는 메서드 ");
}
// String 말고 원하는 값의 타입을 적을 수 있음
String method2(int parameter){
return parameter + " 를 받아 명령을 수행하고 결과물을 리턴하는 메서드";
//return - 예약어 : 메서드 종료의 역할도 가능 / 어떤 값이나 객체
//한번만 넣을 수 있음
}
// void : 타입이 없다 라는 의미
//객체 생성
SampleClass sc = new SampleClass();
System.out.println(sc.field);
sc.method1(); // SampleClass 에 있던 method1 내용호출
String returnValue = sc.method2(5);
System.out.println(returnValue);
System.out.println(sc.method2(10)); //결과값이 동일하게 출력됨