객체 지향 프로그래밍 (Object Oriented Programming, OOP)은
프로그램을 작성하는 기법
부품에 해당하는 객체 (Object)를 먼저 만들고,
이것들을 하나씩 조립 및 연결해서 전체 프로그램을 완성하는 기법
객체 지향이 잘 적용된 언어는 코드의 구조가 명확하기 때문에
코드를 이해하기 쉽고, 관리와 유지 보수가 효율적
Java
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello"); } }
C 언어
#include <stdio.h> int main() { printf("Hello\n"); return 0; }
Python
print("Hello")
여기에서 C언어는 객체지향이 적용되지 않은 대표적인 언어
Java보다는 사용되는 단어 수가 적고, 비교적 간단한 형태로 작성
Python은 코드가 짧다.
Python은 객체 지향이 적용된 언어이지만,
객체 지향이 강하게 드러나는 언어는 아니다.
오히려 많은 내용을 생략하고, 쉽게 코드를 작성하는 것에 초점이 맞추어져있다.
반면, 자바는 객체 지향의 개념이 언어에 강하게 드러나는 특징이 있다.
그래서 자바는 한 줄을 출력하는 데도 public, class, static, void, System, out 등 많은 용어가 등장한다.
그리고 그만큼 많은 의미를 코드에서 전달하고 있다.
객체 지향적 구조와 설계를 정확히 표현하는 것에 특화된 언어라고 할 수 있다.
변수는 정보를 저장하고 쓸 수 있게 해주는 '이름표' 같은 개념
자료형에는 대표적으로 숫자, 문자, 그리고 참과 거짓을 나타내는 논리형
자바에서는 int, double, char, boolean 등으로 표현
변수가 값을 보관하는 역할을 한다면, 함수(function)는 명령들을 보관하는 역할
동일한 내용을 반복하여 쓰고 있거나,
프로그램을 깔끔하게 정리하고 싶을 때 함수를 사용
함수의 입력값을 '파라미터' 혹은 '매개변수' 라고 부르며,
출력값을 '리턴값' 이라고 부른다.PrintName(파라미터) { 함수 동작 return 리턴값 }
함수의 입력은 파라미터
출력은 리턴값
자바에서는 함수의 입력은 어떤 자료형인지, 출력은 어떤 자료형인지 미리 정해준다.
맞지 않는 자료형을 입력하거나 출력하게 되면 오류가 발생한다.
자바는 함수의 형태가 조금 더 추가되어서, 아래와 같은 형태가 된다.
리턴자료형 PrintName(파라미터자료형 파라미터) {
함수 동작
return 리턴값
}
'리턴자료형'과 '파라미터자료형' 자리에는
int, double, char, boolean 등의 자료형 이름이 들어가게 된다.
여러 개의 값을 하나의 변수에 담고 싶을 때도 있다.
배열은 주로 [ ]를 사용해서 표현
프로그램에 영향을 미치지 않도록 표시해주는 것을 말한다.
코드 사이에 메모 혹은 설명을 적기 위해 사용한다.