객체지향 프로그래밍

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

    컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립적인 단위, 즉 "객체"들의 모임으로 파악하는 컴퓨터 프로그래밍의 패러다임이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.

     

    클래스(class)

    • 클래스는 필드(Field)와 메소드(Method)를 가진다.
    • 필드는 클래스의 속성이라고 말할 수 있다.
    • 메소드는 클래스의 기능이라고 말할 수 있다.

    클래스 선언방법

    1. 첫 문자가 문자나 '_', '$'의 특수문자로 시작되어야 한다.(한글도 가능함) 숫자로 시작할 수 없다
    2. 첫 문자가 아니라면, 문자나 '_','$'의 특수문자 그리고 숫자로 구성될 수 있다. JDK8에서는 한 글자로 이루어진 변수는 예약어로 정의되어 있기 때문에 사용할 수 없다,
    3. 자바의 예약어는 식별자로 사용할 수 없다.
    4. 자바의 식별자는 대소문자를 구별한다.
    5. 식별자 길이는 제한이 없고 공백은 포함할 수 없다.

    프로그래머들간의 관례

    1.  클래스명은 대문자로 시작한다.
    2. 단어와 단어가 만날 경우 2번째 단어의 시작은 대문자로 시작한다. EX) HelloWorld -> 카멜 표기법

    인스턴스(instance)

    클래스명   변수명    =    new               클래스명();

    참조타입 참조변수        new 연산자    생성자

     

    인스턴스를 만드는 3가지 방법

    1. new 연산자와 생성자를 이용하여 인스턴스를 만드는 방법
    2. 클래스 로더를 이용하는 방법
    3. 메모리에 있는 인스턴스를 복제(clone)하여 만드는 방법

     

    메소드(Method)

    메소드 선언방법

    [접근제한자] [static] 리턴type 메소드이름([매개변수, ....]){

                              실행문

                                ..............

    }

     

    메소드 이름은 앞에서 설명한 식별자 규칙과 같음. 다만 메소드이름은 소문자로 시작하는 것이 관례

     

    헷갈리지 말 것

    • 매개변수(parameter)
    • 전달인자(argument)

    매개변수는 메소드의 정의부분에 나열되어 있는 변수들을 의미하며, 전달인자는 메소드를 호출할때

    전달되는 실제 값을 의미

     

    static 메소드는 인스턴스를 생성하지 않아도 호출할 수 있다.

    ex)VendingMachine.printVersion(); -> 오류 없다면 static 메소드이다.

    'JAVA' 카테고리의 다른 글

    추상화, 캡슐화, 객체  (0) 2023.08.10
    클래스 메소드 vs 인스턴스 메소드  (0) 2023.08.09
    switch 추가된 문법  (0) 2023.08.06
    조건문 if  (1) 2023.08.06
    코드는 한줄씩 차례대로 실행된다  (0) 2023.08.04

    댓글