[Python] 클래스와 객체

클래스 작성하기 클래스는 객체를 생성하기 위해 객체의 형태를 정의하는 틀(template)과 같은 것이다.  클래스는 class 키워드를 사용하여 다음과 같은 구조를 이용해서 정의된다. 클래스 안에는 인스턴스 변수와 메소드를 정의한다. 이들은 클래스의 멤버(member)라고 한다. 변수는 객체의 상태를 나타내고 메소드는 객체의 동작을 나타낸다. 클래스가 정의되면 객체를 생성할 수 있는데, 클래스 이름에 ()를 붙여서 함수처럼 호출 하면 객체가 생성된다.   … 더 읽기

[Python] Comprehension (컴프리헨션)

   리스트 컴프리헨션 (List Comprehension) 파이썬은 리스트 컴프리헨션(list comprehensions, 리스트 함축)이라는 개념을 지원한다. 다음과 같은 형식을 가진다. 위의 형식을 풀어쓴다면 다음과 같다.  다음 예제와 같이 사용할 수 있다. 다음은 조건이 붙는 리스트 컴프리헨션 예제이다. 숫자가 아닌 자료형에 대해서도 적용할 수 있다. 예를 들어 단어의 첫 글자만 추출하여 리스트를 만드는 예제를 만들어 보자. 다음은 문자열을 구성하는 … 더 읽기

[Python] 리스트의 기초 연산들

리스트의 합병과 반복 두개의 리스트를 합칠 때는 연결 연산자인 + 연산자를 사용할 수 있다. 리스트를 반복하는 것은 반복 연산자인 * 를 사용하면 된다.   리스트의 길이 len() 연산은 리스트의 길이를 구하여 반환한다.   요소 추가하기 append() 를 사용해서 리스트의 끝에 새로운 항목을 추가할 수 있다.   요소 삽입하기 insert() 메소드로 특정 위치에 새로운 요소를 추가한다. … 더 읽기

[Python] 시퀀스 자료형

시퀀스란? 파이썬에서 리스트를 포함한 몇몇 자료형은 시퀀스(sequence) 자료형에 속하는데 시퀀스에 속하는 자료형들은 순서를 가진 요소들의 집합이라는 공통적인 특성을 가지고 있다. 다음의 6가지 자료형이 시퀀스 자료형에 속한다. 딕셔너리와 같은 집합 자료형은 순서를 가지고 있지 않다는 점에서 시퀀스 자료형과는 분명히 다른 반면 문자열, 리스트, 튜플, 바이트, range 객체들은 서로 다르면서도 다음과 같은 공통적인 특징을 가지고 있다.  같은 … 더 읽기

[Python] lambda 함수(무명 함수)

lambda 함수의 형식은 다음과 같다.   lambda 함수를 이용하여 2개의 정수를 합하는 함수를 작성해보면 다음과 같다. 정수의 합 : 30정수의 합 : 40 만약 위의 코드를 일반적인 함수로 만들었다면 다음과 같을 것이다. 정수의 합 : 30정수의 합 : 40 다음 예제와 같이 리스트에 포함시킬 수 있다. 92781 다음은 조건식을 사용한 예제이다. 100

[Java] super 키워드

키워드 super는 상속 관계에서 부모 클래스의 메소드나 필드를 명시적으로 참조하기 위하여 사용된다. 만약 부모 클래스의 메소드나 필드를 오버라이드한 경우에 super를 사용하면 부모 클래스의 메소드나 필드를 호출할 수 있다. 보통 메소드를 오버라이드할 때, 부모 클래스의 메소드를 완전히 대치하는 경우보다 내용을 추가하는 경우가 많다. 이런 경우에는 super 키워드를 이용하여 super 클래스의 메소드를 호출해 준 후에 자신이 필요한 … 더 읽기

[Java] 고급 배열

무명 배열 자바에서는 배열의 이름을 지정하지 않고 단순히 초기값만으로 배열을 생성시킬 수 있다. 무명 배열(anonymous arrays)은 즉시 배열을 만들어서 함수의 인수로 전달하고자 할 때 많이 사용된다. 특히 안드로이드 프로그래밍에서 자주 사용된다. 무명 배열을 만드는 방법은 다음과 같다. 위 수식은 새로운 배열을 할당하고 중괄호 안의 값들로 배열을 채운다. 초기값들의 개수에 따라서 배열의 크기가 결정된다. 무명 배열은 … 더 읽기

[Java]객체 지향 프로그래밍의 특징

캡슐화 객체지향 기술 이전에는 수 많은 소프트웨어 개발자들이 일반적으로 프로그램을 만들 때 이미 비슷하거나 동일한 기능을 하는 알고리즘을 매번 처음부터 개발하여야 했다. 따라서 이전의 코드들을 재사용할 수 있는 방법이 필요하다는 것을 인식하게 되었는데 다른 사람이 작성한 코드를 쓰기 위해서는 코드 자체가 잘 정리되어 있어야만 할 것이다.  즉 관련된 데이터와 알고리즘이 하나의 묶음으로 정리되어 있어야 한다. … 더 읽기

[Java] 내장 클래스

자바에서는 클래스 안에서 클래스를 정의할 수 있다. 내부에 클래스를 가지고 있는 클래스를 외부 클래스(outer class)라고 한다. 클래스 내부에 포함되는 클래스를 내장 클래스(nested class)라고 한다. 내장 클래스의 종류 내장 클래스는 다음과 같이 분류할 수 있다. 여기서는 가장 많이 사용되는 내부 클래스만을 살펴보자.  내부 클래스 클래스 안에 선언된 클래스를 내부 클래스라고 한다. 내부 클래스의 접근 지정자는 public, … 더 읽기

[Java] 자료형(data type)의 종류

자료형의 종류 PHP나 Python 등을 먼저 접했던 사람 뒤 늦게 Java를 공부하게 된다면 과연 이럴 필요가 있을까 싶을 정도로 유난히도 자료형을 엄격하게 구분한다는 점을 느끼게 될 것이다. 처음 Java를 공부하자니 이런 것을 익히려고 에너지를 낭비해야 하나 싶기도 하지만 기초가 중요한 것이니 일단 기록한다. 자바에는 크게 기초형(primitive type)과 참조형(reference type)의 자료형이 있다. 기초형은 다시 정수형, 실수형, … 더 읽기