일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 조건인덱싱
- r연습문제
- pandas
- 문자열reverse
- 데이터프레임조회
- range retention
- 프로그래머스 풀이
- 함컴타자연습
- 야구게임 코드
- 타자연습파이썬
- requests 모듈
- classic retention
- R기초
- 구구단
- 파이썬
- 파이썬 야구게임
- 데이터프레임 정보 조회
- 파이썬예제
- 피처벡터화
- rolling retention
- R실습
- 웹크롤링 실습
- 특정값 추출
- 웹크롤링
- 문자열함수
- java
- R
- 웹크롤링 예제
- 네이버웹툰크롤링
- Python
- Today
- Total
서비스 기획자의 성장기록
[Java] 01. 객체지향 프로그램 & Java 개요 본문
객체지향 프로그램
객체지향 프로그래밍(Object Oriented Programming)이란?
: 프로그래밍을 데이터를 입력하고 순서대로 처리한 후 결과를 도출하는 명령어들의 목록으로 보는 시각에서 벗어나
여러 독립적인 부품들의 조합, 객체들의 유기적인 협력과 결합으로 파악하고자 하는 컴퓨터 프로그래밍의 패러다임
>> 코드를 모듈처럼 짜는 것
객체 (Object)
- 객체지향 프로그래밍의 가장 기본적인 단위
- 객체란 '모든 실재하는 대상'으로 유, 무형의 대상
- 한 실체를 구성하는 명사적인 요소와 동사적인 요소의 집합
- ex. 볼펜: 펜심, 잉크, 볼, 케이스, 쓴다, 누른다 ...등
객체지향 언어의 특징
1) 추상화 (Abstraction)
: 객체의 속성과 behavior를 추출하는 것 (공통된 속성과 기능을 추출하여 객체로 표현)
- 데이터 추상화: 객체화 시키는 것
- 메서드 추상화: 동작을 추출하는 것
2) 상속 (Inheritance)
: 기존에 정의되어 있는 클래스를 재활용하여 새로운 클래스를 작성하는 문법 요소
3) 다형성 (Polymorphism)
: 어떤 객체의 속성이나 기능이 상황에 따라 여러가지 형태를 가질 수 있는 성질
4) 캡슐화 (Encapsulation)
: 클래스 외부에서 객체의 추상화 (객체의 속성들)을 조회하지 못하게 하는 것
- 데이터 보호 (data protection)
- 데이터 은닉 (data hiding)
Java 언어 특징
- Java는 중간코드(바이트코드)를 사용한다.
- 객체지향언어의 특징인 상속, 캡슐화, 다형성을 완벽하게 지원한다.
- C언어에서 제공하는 구조체(structure), 공용체(union), 메소드 디폴트 파라미터 기능이 제공되지 않는다.
- 다중상속이나 연산자 재정의 같은 복잡한 문법이 제거되었다.
- 인터넷을 주 목적으로 개발한 언어로 네트워크와 멀티 스레드를 기본적으로 지원한다.
- Garbage Collector을 이용하여 자동으로 메모리를 관리하기 때문에 메모리 누수 (memory leak)의 위험이 제거되어 신뢰성, 안정성이 높다.
Java 구성요소
- 클래스: 자바 프로그램의 기본 단위
- 생성자: 멤버 변수의 초기화 등에 사용되는 메서드의 일종
- 메서드: 클래스에서 실행되는 작업
- 변수: 데이터를 저장하는 공간 (자바에는 전역변수가 없고 멤버변수와 지역변수만 존재한다.)
Java 문법 주의사항
- Java는 대소문자를 구분한다.
- 명령문(statement)은 반드시 세미콜론(;)으로 종료한다.
- 공백이나 탭의 제한이 없다.
- 프로그램의 기본 단위는 클래스(class)로 선언문, 명령문 등은 모두 클래스 내부에 존재해야한다.
- 클래스 명은 파일명과 동일해야한다.
- 하나의 파일은 여러개의 클래스를 가질 수 있다.
- main() 메소드를 가진 클래스가 public 키워드를 가진다.
Java의 명명규칙 (Naming Rules)
1) PascalCase (파스칼 케이스)
: 클래스 명, Exception
2) camelCase (카멜 케이스)
: 변수, 메서드
3) UPPER_CASE (어퍼 케이스)
: 상수변수
4) kebab-case (케밥 케이스)
: 파일명, 폴더명
'Java' 카테고리의 다른 글
[Java] 05. 변수 (0) | 2024.01.16 |
---|---|
[Java] 04. Scanner 클래스와 next() 메소드 (0) | 2024.01.16 |
[Java] 03. 다양한 데이터 타입 출력하기 - Casting & Promotion (0) | 2024.01.15 |
[Java] 02. Java의 자료형 (data type) (0) | 2024.01.15 |