Java 캡슐화 (Encapsulation) 개념 정리
2021. 7. 23. 20:20
프로그래밍 언어/Java
캡슐화 (Encapsulation) 연관된 목적을 가지는 변수와 함수를 하나의 클래스로 묶어 외부에서 쉽게 접근하지 못하도록 은닉하는 것이다. 캡슐화는 중요한 데이터를 쉽게 바꾸지 못하도록 할 때 사용한다. 캡슐화를 하는 가장 큰 이유는 정보 은닉에 있다. 캡슐화를 통해 외부에서 내부의 정보에 접근하거나 변경할 수 없게 직접적인 접근을 막고 객체가 제공하는 필드와 메소드를 통해서만 접근이 가능하다. 이렇게 접근을 제한함으로써 유지보수나 확장 시 오류의 범위를 최소화할 수 있고 객체 내의 정보 손상과 오용을 방지하고 데이터가 변경되어도 다른 객체에 영향을 주지 않아 독립성이 좋다. 캡슐화는 접근제어자를 통해 이루어진다. * 자바의 접근 제어자 public : 접근 제한 없음 protected: 동일한 패키..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrkGGp%2Fbtq9Rc5PfPr%2FI4AvOE5bpeJCnPQGCkzJi1%2Fimg.png)
Java 상속(inheritance) 기본 개념 정리
2021. 7. 19. 19:07
프로그래밍 언어/Java
Java 상속 (inheritance) 자바에는 상속이라는 개념이 있다. 조금 더 자세하게 말해보면, 부모의 것을 자식에게 물려주는 것처럼 자바에는 부모 클래스(상위 클래스)와 자식 클래스(하위 클래스) 가 있다. 자식 클래스는 부모 클래스를 선택해서 그 부모 클래스의 멤버를 상속받아 그대로 쓸 수 있게 된다. 그럼 상속을 왜 하는 거지? 이미 만들어져 있는 클래스를 재사용할 수 있기 때문에 효율적이고 중복된 코드가 줄어들어 코드가 간결해진다. 그리고 공통적인 기능을 부모 클래스에 추가해주면 상속받은 여러 개의 자식 클래스에서 사용이 가능하기 때문에 확장성 또한 용이하다. 다시 말해, 유지보수가 쉬워지고 확장성이 용이해지고 재사용이 가능해지고 코드가 간결해지며 시간을 단축할 수 있다. 상속에 대해 몇 가..
Java this 의미와 사용법
2021. 7. 17. 20:03
프로그래밍 언어/Java
자바 this 자바에서 this 는 인스턴스 자기 자신을 가리키는 키워드이다. this 를 통해 클래스 메소드 및 생성자에서 자기 자신의 데이터를 업데이트하거나 조작할 수 있다. this 는 클래스를 기반으로 생성된 인스턴스를 가리키는 참조 라는 것이다. 여기서 중요한 부분은 인스턴트를 가리키는 참조와 인스턴스 자체는 다르다는 점이다. this 의 특징 객체 자신의 대한 참조값을 가진다. ( 자기 자신을 가리킨다.) 메소드 내에서만 사용된다. 객체 자신을 메소드에 전달하거나 리턴하기 위해 사용된다. 객체 생성자 내에서 사용할 경우, 다른 생성자를 호출한다. 매개 변수와 객체 자신이 가지고 있는 변수의 이름이 같은 경우 이를 구분하기 위해 자신의 변수에 this를 사용한다. static 메소드에서는 사용할..
Java 가상 머신 (JVM, Java Virtual Machine)
2021. 7. 17. 18:48
프로그래밍 언어/Java
자바 가상 머신 (JVM, Java Virtual Machine) 시스템 메모리를 관리하면서 자바 기반 애플리케이션을 위해 이식 가능한 실행 환경을 제공한다. JVM 은 다른 프로그램을 실행시키는 것이 목적인 프로그램이다. 자바는 완전한 기계어가 아니라 바이트 코드이기 때문에 이를 해석하고 실행할 수 있는 가상 운영체제가 필요하다. 이런 역할을 해주는 것이 JVM 이다. JVM 의 2가지 기본 기능 - 자바 프로그램이 어느 기기 또는 어느 운영체제 상에서도 실행될 수 있게 하는 것. 즉, 한 번 작성해 어디에서나 실행한다는 원칙 - 프로그램 메모리를 관리하고 최적화 하는 것 JVM 에 대한 정의 JVM 에 대한 정의는 다음과 같이 나누어진다. - 기술적 정의 : JVM 은 코드를 실행하고 해당 코드에 대..
Java 기본 타입 (Primitive Type)과 참조 타입(Reference Type)
2021. 7. 17. 18:34
프로그래밍 언어/Java
기본 타입 (Primitive Type) 기본 데이터 타입은 정수, 실수, 문자, 논리 리터럴을 직접 저장하는 타입을 말한다. 정수 타입 : byte, char, short, int, long 실수 타입 : float, double 논리 타입 : boolean 종류 기본 타입 타입 크기(byte) 정수 byte 1 byte char 2byte short 2byte int 4byte long 8byte 실수 float 4byte double 8byte 논리 boolean 1byte 참조 타입(Reference Type) 참조 타입이란 객체의 번지를 참조하는 타입이다. 배열, 열거, 클래스, 인터페이스 타입을 말한다. 기본 타입과 참조 타입의 차이는 저장되는 값이 무엇인가의 차이다. 기본 타입은 실제 값을 ..
Java 래퍼 클래스 (Wrapper Class)
2021. 7. 17. 18:22
프로그래밍 언어/Java
래퍼 클래스 (Wrapper Class) 자바의 자료형은 기본 타입(primitive type)과 참조 타입(reference type) 으로 나누어진다. 기본 타입은 정수, 실수, 문자, 논리 리터럴을 저장하는 타입이다. 참조 타입은 배열, 열거, 클래스, 인터페이스 등 객체의 위치를 참조하는 타입니다. 기본 타입 : byte, short, char, int, long, float, double, boolean 참조 타입 : class, interface, ... 래퍼 클래스란 8개의 기본 타입에 해당하는 데이터를 객체로 표현하기 위해 포장해주는 클래스라고 한다. 각각의 타입에 해당하는 데이터를 인수로 전달받아 해당 값을 가지는 객체로 만들어준다. 래퍼 클래스는 모두 java,lang 패키지에 포함되어..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBS9Cq%2FbtqO0fPxOyw%2Fvlr8ZTZYDEXZKjqcAzdzhk%2Fimg.png)
파이썬(Python) Jupyter notebook 설치 (MacBook)
2020. 12. 3. 20:35
프로그래밍 언어/Python
1. 터미널에서 pip 버전 확인 pip3 --version 2. pip upgrade pip3 install --upgrade pip 3. jupyter install pip install jupyter (밑으로 쭈주죽 내려감 ㅎㅎ) 4. jupyter notebook 실행 jupyter notebook 설치 완료 😆
파이썬 크롤링 공부 - selenium 사용해보기
2020. 8. 1. 21:37
프로그래밍 언어/Python
selenium 이라는 라이브러리를 간단한 예제를 통해 사용해보았다. requests 와 bs4 를 사용해서 할 때에는 태그로만 가져와서 출력하는 거였다면 selenium 을 사용하면 해당 페이지로 이동해서 클릭해서 동작할 수 있게 해준다. 뿐 만 아니라 아이디와 패스워드까지 입력해서 로그인을 할 수 있도록 도와준다. 1. selenium 설치 pip install selenium 2. selenium 사용해보기 from selenium import webdriver # 크롬 웹 드라이버를 통해서 해당 사이트를 실행한다. # 크롬 드라이버의 위치를 가져온다. 현재 크롬의 버전과 같은 드라이버를 가져와야한다. chromedriver = '/usr/local/bin/chromedriver' driver = ..