본문 바로가기

Language

(17)
자바언어의 구조와 기본문법 자바언어의 특징 1. 자바는 단순하다. C언어와 C++언어의 복잡한 기능을 제외하여 코드를 단순하게 작성할 수 있음 EX) C++의 전위처리, 포인터사용, 다중상속, 구조체, GOTO문, 연산자 중복가능... 가비지 컬렉터(Garbage Collector)에 의한 자동 메모리 관리로 할당된 메모리 해제를 신경쓰지 않아도 됨 C와 C++언어에 비해 작고 간편하다 2. 자바는 객체지향적이다. 자바는 객체지향 개념이 적용된 C++을 기초로 하여 만들어진 언어 (객체지향 언어 : 언어라는 객체를 사용해서 프로그램을 작성하도록 하는 언어) 객체지향을 사용하게 되면 재사용성을 높일 수 있음 단순히 코드의 재사용을 넘어선 객체의 재사용을 뜻함 프로그램 개발에 필요한 수많은 클래스 라이브러리들을 API로 제공함 3. ..
[JAVA] 상속 상속의 개요 상속은 객체지향 언어의 장점인 모듈의 재사용과 코드의 간결성을 제공하는 중요한 특성이다. 자바에서는 클래스 선언 시 상위 클래스(super class)를 지정하기 위해 확장을 의미하는 extends라는 예약어를 사용한다. 자바 프로그램에서 클래스의 상속은 상위 클래스의 모든 요소를 상속받고 추가 요소를 더 가지는 확장의 개념이다. 멤버 변수의 상속 클래스가 상속되면 상위 클래스의 멤버 변수들은 접근 한정자에 따라 상속 여부가 결정된다. protected 접근 한정자는 같은 패키지 내의 클래스와 같은 패키지는 아니지만 상속된 클래스에서 사용 가능한 접근 한정자이다. 결론적으로 멤버 변수의 접근 한정자는 다음과 같이 설명될 수 있다. ✔ public : 동일한 패키지인지, 상속관계인지에 상관없이..
[JAVA] 클래스의 기능 생성자 (Constructor) 생성자는 클래스로부터 객체가 생성될 때 객체의 초기화 과정을 기술하는 특수한 메소드이다. 객체가 생성될 때 무조건 수행되며, 한번만 수행된다. 생성자는 객체를 생성하는 new 명령어에 의해 자동으로 실행된다. 생성자는 주로 객체 변수를 초기화할 필요가 있을 때 사용하며, 이름은 반드시 클래스의 이름과 동일해야한다. class Box5 { int width; int height; int depth; //생성자로서 초기화 수행 public Box5(int w, int h, int d) { width = w; height = h; depth = d; } } public class BoxTest { public static void main(String[] args) { Box5..
[JAVA] 객체지향 개념 객체지향의 개요 객체지향 이론 객체지향 이론은 컴퓨터를 통하여 실세계와 같은 환경을 흉내내기 위해 발전한 이론이다. 실세계는 사물(객체)로 구성되어 있으며, 이러한 사물들의 상호작용에 의해 실세계는 작동한다. 실세계의 객체는 속성 + 기능 으로 구성되어 있다. 객체지향 이론은 실세계의 모든 사물들을 속성과 기능으로 정의하고, 사물들간의 상호작용을 정의해서 실제 세계를 흉내낸다는 이론이다. 객체지향 이론은 클래스, 상속, 캡슐화, 다형성의 개념을 중심으로 발전하였다. 객체지향 장점 ✔ 문제를 쉽게 프로그램화 할 수 있다. ✔ 객체들의 독립성으로 데이터에 의존하지 않고 생산성을 향상시킬 수 있다. ✔ 객체라는 모듈을 부품처럼 재사용 할 수 있다. 클래스와 객체 객체지향 프로그램을 작성하다보면 같은 기능을 하..
python 꿀팁🍯 🍯 string을 10진법으로 파이썬의 int(x, base=10) 함수는 10진법으로 변환해준다. num = '0001' base = 2 answer = int(num, base) #1 🍯 문자열 정렬하기 - ljust, center, rjust 문자열 s를 좌측/가운데/우측 정렬하여 n 길이의 문자열을 만든다. s = '가나다라' n = 7 s.ljust(n) # '가나다라 ' # 좌측 정렬 s.center(n) # ' 가나다라 ' # 가운데 정렬 s.rjust(n) # ' 가나다라' # 우측 정렬 🍯 모든 소문자, 대문자, 대소문자, 숫자 가져오기 import string string.ascii_lowercase # 소문자 abcdefghijklmnopqrstuvwxyz string.ascii_up..
[python] 정규 표현식 re 알고리즘 문제 풀때 자주 사용하는 것들만 정리 문자 클래스 (character class) [ ] 문자 클래스로 만들어진 정규식은 "[ ] 사이의 문자들과 매치"라는 의미를 갖는다. 즉 정규 표현식이 [abc]라면 이 표현식의 의미는 "a, b, c 중 한 개의 문자와 매치"를 뜻한다. [ ] 안의 두 문자 사이에 하이픈(-)을 사용하면 두 문자 사이의 범위(From - To)를 의미한다. ✔ [a-zA-Z] : 알파벳 모두 ✔ [0-9] : 숫자 문자 클래스 안에 ^ 메타 문자를 사용할 경우에는 반대(not)라는 의미를 갖는다. 예를 들어 [^0-9]라는 정규 표현식은 숫자가 아닌 문자만 매치된다. 자주 사용하는 문자 클래스 정규식을 이용한 문자열 검색 ✔match() : 문자열의 처음부터 정규식과 매..
해커랭크 10 Days of Javascript (Day0 ~ Day4) ✔ Day 0: Hello, World! input으로 문자열을 받았을 때, console에 출력. function greeting(parameterVariable) { console.log('Hello, World!'); console.log(parameterVariable) } ✔ Day 0: Data Types input으로 데이터 타입이 string인 secondInteger, secondDecimal, secondString을 받았을 때, first변수들에 맞게 형변환을 하고 sum한 결과를 출력. function performOperation(secondInteger, secondDecimal, secondString) { const firstInteger = 4; const firstDeci..
[JS Flow] prototype 자바스크립트가 어려운 이유는.. 8할이 프로토타입 때문이라고.... 자바의 클래스 역할을 하는 프로토타입..! 최대한 이해해서 정리했다. 생성자 constructor의 프로퍼티는 prototype, 생성자 instance의 프로퍼티는 __proto__ 생성자가 인스턴스를 만들면, 생성자의 프로퍼티인 프로토타입이 __proto__에 참조를 전달한다. 그런데 인스턴트뒤의 __proto__는 생략이 가능하다. 그래서 프로토타입이 인스턴스를 바라보고 있는것처럼 보인다. 인스턴스가 프로토타입의 메소드를 마치 자신의 것처럼 갖다쓸수 있다는것.. 예를 들어보자. Array라는 생성자로 만든 인스턴스 [1,2,3] 이 있다. Array에는 프로토타입 말고도 여러가지 프로퍼티를 가지고 있다. 이중에서 prototype만..