강타입과 약타입 부분을 읽으면서, "2"-1 에 관하여 자바스크립트가 문자열과 숫자 서로 다른 타입의 연산에 대해서 1이라는 값을 출력하는 것을 확인 할 수 있었습니다. 반면에 파이썬, 루비, 타입스크립트는 해당 코드에 대해서 타입에러를 발생했는데, 이를 보고 약타입 언어로 코드를 작성하면 코드 작성자의 의도와 다르게 동작 할 수 있어 오류가 발생 할 수 있으므로 모든 언어가 강타입인게 낫지 않을까 라는 생각을 했습니다. 그래서 약타입 언어의 장점과 단점, 강타입 언어의 장점과 단점을 찾아봤습니다.
약타입 언어의 장점:
타입을 명시하지 않아도 되므로 코드가 간결해집니다. 이로 인해 빠르게 프로토타이핑을 할 수 있습니다.
타입 변환에 유연성이 있어 다양한 방식으로 코드를 작성할 수 있습니다.
약타입 언어의 단점:
컴파일러가 타입을 체크하지 않기 때문에, 실행 시점에 타입 오류가 발생할 수 있습니다. 이로 인해 디버깅이 어려울 수 있습니다.
코드의 가독성이 떨어질 수 있으며, 예상치 못한 버그를 발생시킬 가능성이 있습니다.
강타입 언어의 장점:
컴파일러가 타입을 체크해주기 때문에 런타임에 발생할 수 있는 타입 오류를 미리 잡아낼 수 있습니다. 이로 인해 디버깅 시간을 줄일 수 있습니다.
코드가 명확해지고, 기대하는 타입에 대한 정보를 제공함으로써 코드의 가독성이 높아집니다.
강타입 언어의 단점:
변수를 선언할 때마다 타입을 명시해야 하기 때문에, 코드가 길어질 수 있습니다.
타입 변환에 제한이 있어 유연성이 비교적 떨어질 수 있습니다.
모든 언어가 강타입 언어로 이루어지면 오류가 발생 확률이 적어질거라는 생각을 했었지만, 타입을 명시해야해서 코드가 길어질 수 있고, 타입 변환에 제한이 있을 수 있다는 단점이 있었습니다. 그래서 프로젝트를 진행 할 때 강타입과 약타입 중 어떤 것을 선택하는게 좋을지에 대해 알아봤습니다.
강타입 언어 사용하면 좋은 경우 :
프로젝트가 크고 복잡한 경우 : 강타입 언어는 코드의 가독성을 높여주고, 예상치 못한 타입 오류를 사전에 방지해주므로 크고 복잡한 프로젝트에서 장점을 발휘합니다.
안정성이 중요한 경우 : 강타입 언어는 컴파일 시점에 타입을 체크하기 때문에, 오류를 사전에 찾아낼 수 있고 이는 더 안정적인 코드를 만들 수 있게 해줍니다.
여러 사람이 협업하는 경우 : 강타입 언어는 코드의 명확성을 높여주므로, 다른 사람이 작성한 코드를 이해하고 유지보수하는 데 도움이 됩니다.
약타입 언어 사용하면 좋은 경우 :
빠른 프로토타입이 필요한 경우: 약타입 언어는 타입 선언이 필요 없어 코드를 더 빠르게 작성할 수 있습니다. 빠른 개발 속도로 인해 아이디어를 신속하게 테스트하고 프로토타입을 만들 수 있습니다.
코드의 유연성이 중요한 경우 : 약타입 언어는 타입 변환이 자유로워 다양한 방식으로 코드를 작성할 수 있습니다.
강타입과 약타입 부분을 읽으면서, "2"-1 에 관하여 자바스크립트가 문자열과 숫자 서로 다른 타입의 연산에 대해서 1이라는 값을 출력하는 것을 확인 할 수 있었습니다. 반면에 파이썬, 루비, 타입스크립트는 해당 코드에 대해서 타입에러를 발생했는데, 이를 보고 약타입 언어로 코드를 작성하면 코드 작성자의 의도와 다르게 동작 할 수 있어 오류가 발생 할 수 있으므로 모든 언어가 강타입인게 낫지 않을까 라는 생각을 했습니다. 그래서 약타입 언어의 장점과 단점, 강타입 언어의 장점과 단점을 찾아봤습니다.
약타입 언어의 장점:
강타입 언어의 장점:
모든 언어가 강타입 언어로 이루어지면 오류가 발생 확률이 적어질거라는 생각을 했었지만, 타입을 명시해야해서 코드가 길어질 수 있고, 타입 변환에 제한이 있을 수 있다는 단점이 있었습니다. 그래서 프로젝트를 진행 할 때 강타입과 약타입 중 어떤 것을 선택하는게 좋을지에 대해 알아봤습니다.
강타입 언어 사용하면 좋은 경우 :
약타입 언어 사용하면 좋은 경우 :