언어

· 언어/Java
다형성이란? 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미한다. 하지만 아무 관계도 없는 타입을 참조할 수는 없고, 상속(클래스, 인터페이스 모두) 관계에서 구현 가능하다. 다형성을 활용하면 부모 클래스가 자식 클래스의 동작 방식을 알 필요 없이 자식 클래스에 접근해 필요한 메서드를 실행시킨다. 자식 클래스를 부모 클래스 타입으로 객체를 선언하고 오버라이딩된 메서드를 실행하면 자식 클래스의 메서드가 실행됨. 하지만 부모 클래스를 자식 클래스 타입으로 객체를 선언할 수는 없다. 객체지향의 4가지 특징 중 다형성은 특히나 글로 읽었을 때 이해가 되지 않는 것 같다. 여러 가지 예제와 비유로 다형성을 100% 이해해 보자 먼저, 하나의 객체가 여러 타입을 가지면서 생기는 이점이 있으려면, 오버라이딩..
· 언어/Java
문제의 발단 : 내가 원래 쓰던 c++은 string에 대하여 switch문을 사용할 수가 없었다. switch() 안에 int 형의 변수만 들어갈 수 있다 보니까 여러 String 조건에 대하여 if else 지옥을 만들지 않으려면 Map 와 같은 방식으로, 문자열 조건을 정수로 바꿔주는 mapper를 만들어서 switch문을 썼어야만 했었다. 예를 들면 아래와 같은 코드로 Map map = new HashMap(); for(int i =1 ; i < 13; i++){ map.put("string" + i, i); // 문자열과 정수 매핑 } for(int i = 0 ; i < 100000000; i++){ switchInt(map.get("string1")); } 근데 java는 switch 안에 문..
· 언어/C++
dll : 동적 라이브러리 lib : 정적 라이브러리 dll은 런타임 중에, lib는 컴파일 중에 필요하다. lib 소프트웨어 실행 파일을 만들 때 소스 코드를 컴파일하고 만들어진 obj 파일을 링커가 하나로 묶어 exe 파일을 든다. 이 때 lib 을 사용하면 링크 단계에서 링커가 lib 파일도 같이 묶어서 하나의 exe 파일을 만들게 된다.(exe 파일이 무거워 진다.) 정적 라이브러리이므로, 많이 사용되면 RAM에 메모리가 많이 올라가게 된다. pch : 전처리기가 헤더 파일의 내용을 가져와서 같이 컴파일함 pch와 lib의 차이점으로는, pch와 달리 lib 은 이미 컴파일 되어있으며, obj 파일을 가지고 링커가 연결만 시켜준다는 것이다. 또한, pch는 사용하려는 모든 곳에 명시해야한다. dl..
유향그래프 : 노드간 연결에 방향이 있는 그래프 먼저 유향 그래프에 대한 예제의 그래프 정보를 파악하자 위 그림과같은 노드간의 연결을 담은 그래프를 파이썬에서 구현하려면 아래와 같이 노드 번호와 해당 노드에서 갈 수 있는(간선이 존재하는) 노드에 대한 정보가 필요하다. 1번 노드에서 갈 수 있는 노드는 3, 4번 노드(화살표 주의) 2번 노드에서 갈 수 있는 노드는 3,4,5번 노드 ……. 이를 아래와같은 구조로 저장해야한다. graph_list = {1: set([3, 4]), 2: set([3, 4, 5]), 3: set([1, 5]), 4: set([1]), 5: set([2, 6]), 6: set([3, 5])} root_node = 1 BFS 너비우선탐색 알고리즘 from collections ..
# ceil 함수는 천장이라는 의미로 가우스함수와 비슷하긴 한데 math.ceil(3.3) -> 4 math.ceil(-0.2) -> 0 # floor함수는 가우스라고 생각하면 편하다. math.floor(3.2) -> 3 ceil함수는 가우스함수와 비슷하긴 하지만 더 큰 정수를 반환한다. 그러니까 우리가 알고있던 가우스함수는 사실 floor 함수, 어떤 f보다 크지않은 최대의 정수를 반환하려면, floor 함수 사용 어떤 f보다 작지않은 최소의 정수를 반환하려면, ceil 함수 사용
서병렬
'언어' 카테고리의 글 목록 (2 Page)