본문 바로가기

전체 글129

[JAVA 기초] 자바 추상클래스와 인터페이스의 차이점 인터페이스는 추상클래스의 한단계 더 추상화된 클래스라고 볼 수 있다. 두 클래스의 차이점으로 추상클래스는 단일상속, 인터페이스는 다중상속이다. 추상클래스는 부모로 부터 요소를 물려받는 상속의 의미로 기능을 확장시키는 의미이다. 인터페이스는 내부의 요소들을 이를 구현한 클래스에서 반드시 사용하도록 강제하는 것으로 부모로부터 요소를 물려받는 상속의 의미가 아니다. 다음 예제를 통해 이 사실을 확인해보자. Ex 예제 다음은 추상클래스를 이용한 예제이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 package abstract_; abstract class A7 { abstract String b(); public String c(){ return "추상클래.. 2021. 4. 9.
[JAVA 기초] 자바 인터페이스 (interface) 인터페이스는 abstract, final과 함께 대표적인 규제이다. 어떤 객체가 특정한 인터페이스를 사용한다면 그 객체는 반드시 인터페이스의 메소드를 구현해야 한다. 만약 인터페이스에서 강제하고 있는 메소드를 구현하지 않으면 해당 파일은 컴파일조차되지 않는다. 인터페이스의 본질 "psf,pa" 1) 모든 변수는, public static final이다. 2) 모든 메서드는, public abstract이다. ----> 즉, 인터페이스는 본질상 "상수 + 추상메서드"의 구성이다. 인터페이스를 사용하는 경우 "A프로그래머와 B프로그래머가 하나의 프로젝트를 진행할 때, A와 B가 서로의 클래스가 완성되지 않았어도 구현해야 할 기능들을 미리 협의하고 반환 타입까지를 정해놓으면(=인터페이스 작성), 서로의 작업 .. 2021. 4. 9.
[Python 기초] 파이썬 - 연산자 오버로딩 연산자 오버로딩은 연산자를 객체(클래스)끼리 사용할 수 있게 하는 기법이다. 어떤 연산자와 함수의 동작을 똑같이 수행하는 메서드를 정의하여 사용한다. __메서드명__(self, other) other은 다른 객체를 뜻한다. 연산자 오버로딩에 사용할 수 있는 메서드는 다음과 같다. 1 객체와 객체의 연산 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 class op_over: def __init__(self,num): self.num = num def __add__(self,other): self.num += other.num return self.num def __sub__(self,other): self.num -= ot.. 2021. 4. 8.
[Python 기초] 파이썬 if __name__ == "__main__" 란? if __name__ == "__main__" 라는 것은 "여기서 부터가 메인입니다." 라고 선언하는 것이다. 이 이하에 작성된 구문이 메인 메서드에 포함되는 것이다. 하지만 이 메서드는 조금의 기능이 더 부가되어 있다. 다음의 예제로 위 메서드의 기능을 알아보자. 메인함수의 사용 서로 다른 모듈 AAA 와 BBB 를 생성한다. 그리고 BBB 에는 다음과 같이 작성 후 AAA 에서 from BBB import * 해준다. 1 2 3 4 5 6 # BBB 모듈 a = 5 print(a) if __name__=="__main__": print(a) cs 1 2 3 4 5 # AAA 모듈 # BBB모듈을 import from BBB import * cs 그리고 BBB와 AAA를 각각 F5로 실행시키면 다음과 .. 2021. 4. 8.
[Python 기초] 파이썬 - 쓰레드 (Thread) 쓰레드에 대해 설명하려먼 먼저 프로세스의 개념에 대해 이해해야 한다. 프로세스란 실행가능한 프로그램이 있을 때 그 프로그램이 동시에 여러개가 동작할 수 있도록 메모리 작업을 하는데 이때 프로세스 내에서 실제적으로 작업을 하는게 쓰레드이다. 예를 들어 워드프로램에서 문서를 작성한다고 치자. 그럼 우리한테 보이지 않는 곳에서 맞춤법 검사, 입력받은 데이터를 모니터에 출력하는 등등 여러 기능들이 동시에 작업할 것이다. 이렇게 동시 작업하는 것을 바로 쓰레드의 개념이라고 할 수 있다. 다음 예제로 쓰레드가 필요한 경우를 알아보자. 1 2 3 4 5 6 7 8 9 def show(): while True: i = int(input("정수>")) if i == 0: break; show() # show 메서드가 끝.. 2021. 4. 8.
[Python 기초] 파이썬 자료형 - 집합(set) 1 집합(set) 집합(set)은 파이썬 2.3부터 지원하기 시작한 자료형으로 순서가 없고 중복을 허용하지 않는게 특징이다. 따라서 인덱싱, 슬라이싱이 불가능하다. 사용법은 아래와 같이 set(( ))또는 set([ ]) 또는 set({ }) 대괄호에 key 값을 입력하지않고 value만 입력 한다. {1,5,7} >>> set1 = set([1,2,3]) >>> type(set1) >>> set2 = set((1,2,3)) >>> type(set2) >>> type(set({1,4,6,7})) >>> type({1,2,35}) 중복을 허용하지 않는다. 따라서 다음과 같이 중복되는 값을 빼고 저장한다. >>> set3 = set('abbbbbbc') >>> set3 {'c', 'b', 'a'} 2 교집합.. 2021. 4. 8.